QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#20960. Szalony naukowiec

Statistics

Ben, kuzyn Farmer Johna, jest szalonym naukowcem. Zwykle powoduje to tarcia na rodzinnych spotkaniach, ale bywa pomocne, zwłaszcza gdy Farmer John napotyka wyjątkowe i nietypowe problemy ze swoimi krowami.

Teraz Farmer John ma właśnie taki problem. Zamówił $N$ krów ($1 \leq N \leq 1000$) dwóch ras: Holstein i Guernsey. Zamówienie określił łańcuchem $N$ znaków $H$ (Holstein) lub $G$ (Guernsey). Gdy krowy przybyły i ustawił je w rzędzie, ich rasy tworzyły inną sekwencję.

Nazwijmy łańcuchy $A$ i $B$: $A$ to pierwotnie pożądana sekwencja ras, a $B$ ta widziana przy dostawie. Zamiast po prostu sprawdzić, czy przestawienie krów w $B$ pozwala otrzymać $A$, Farmer John prosi Ben o rozwiązanie naukowym sprytem.

Po miesiącach pracy Ben tworzy niezwykłą maszynę multi-cow-breed-flipinator 3000, która zmienia rasy dowolnego spójnego fragmentu krów: wszystkie $H$ stają się $G$, a wszystkie $G$ stają się $H$. Farmer John chce minimum zastosowań, by zmienić obecny porządek $B$ w pożądany $A$. Niestety zdolności Ben kończą się na tworzeniu pomysłowych urządzeń, więc musisz rozwiązać tę zagadkę obliczeniową.

Wejście

Pierwszy wiersz zawiera $N$, a następne dwa łańcuchy $A$ i $B$. Każdy zawiera $N$ znaków $H$ lub $G$.

Wyjście

Wypisz minimalną liczbę użyć maszyny, by zmienić $B$ w $A$.

Przykład

Wejście 1

7
GHHHGHH
HHGGGHH

Wyjście 1

2

Uwagi

Najpierw FJ może zmienić podsłowo samego pierwszego znaku, otrzymując z $B$ GHGGGHH. Potem zmienia podsłowo trzeciego i czwartego znaku, otrzymując $A$. Istnieją też inne działające kombinacje dwóch użyć.

Autor zadania: Brian Dean

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.