QOJ.ac

QOJ

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

#20960. Verrückter Wissenschaftler

Statistics

Farmer Johns Cousin Ben ist ein verrückter Wissenschaftler. Normalerweise sorgt das bei Familientreffen für Reibung, kann aber gelegentlich helfen, besonders bei ungewöhnlichen Problemen mit Farmer Johns Kühen.

Gerade hat Farmer John ein solches Problem. Er bestellte $N$ Kühe ($1 \leq N \leq 1000$) der beiden Rassen Holstein und Guernsey. Seine Bestellung gab er als Zeichenkette mit $N$ Zeichen an, jeweils $H$ für Holstein oder $G$ für Guernsey. Doch bei der Ankunft bildeten die aufgereihten Kühe eine andere Rassenfolge.

Nennen wir die Zeichenketten $A$ und $B$, wobei $A$ die ursprünglich gewünschte Rassenfolge und $B$ die bei der Ankunft beobachtete ist. Anstatt einfach zu prüfen, ob Umordnen der Kühe in $B$ genügt, um $A$ zu erhalten, bittet Farmer John Ben um eine Lösung mit wissenschaftlichem Einfallsreichtum.

Nach Monaten baut Ben die bemerkenswerte Maschine multi-cow-breed-flipinator 3000. Sie kann die Rassen einer beliebigen zusammenhängenden Teilfolge von Kühen umschalten: alle $H$ werden $G$ und alle $G$ werden $H$. Farmer John möchte die minimale Anzahl von Anwendungen kennen, um die aktuelle Folge $B$ in die gewünschte $A$ zu verwandeln. Leider beschränkt sich Bens Talent auf das Erfinden raffinierter Geräte; du musst dieses Rechenproblem lösen.

Eingabe

Die erste Zeile enthält $N$, die nächsten beiden die Zeichenketten $A$ und $B$. Jede besteht aus $N$ Zeichen $H$ oder $G$.

Ausgabe

Gib die minimale Anzahl von Anwendungen aus, um $B$ in $A$ zu verwandeln.

Beispiele

Eingabe 1

7
GHHHGHH
HHGGGHH

Ausgabe 1

2

Hinweis

Zuerst kann FJ die Teilzeichenkette nur des ersten Zeichens ändern und so $B$ in GHGGGHH verwandeln. Danach ändert er die Teilzeichenkette des dritten und vierten Zeichens und erhält $A$. Auch andere Kombinationen zweier Anwendungen funktionieren.

Aufgabenautor: 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.