Vedcom z Krajiny Samých Pijanov sa podarilo vyvinúť teoretický model niečoho, čo nemožno nazvať počítačom, ani superpočítačom. Je to megapočítač. Keďže taký ohromný stroj by v nesprávnych rukách priniesol skazu a zánik ľudstva, profesor Einschwein sa rozhodol vziať všetku zodpovednosť na seba. Avšak jeho spolupracovníci postupne jeden po druhom mizli z povrchu zemského, až nakoniec profesor Einschwein ostal sám.
Devätnásteho septembra sa z Einschweina stal alkoholik, a to zmenilo jeho postoj k mnohým veciam. Uvedomil si, že taký superpočítač by sa mu vskutku hodil – stačilo by mu prikázať, nech ho spraví bohatým, a zo dňa na deň bude najbohatším človekom v Krajine Samých Pijanov. Mohol by sa nechať dosadiť na čelo vlády v každej krajine a byť vládcom sveta, zbaliť ľubovoľnú dievčinu, spýtať sa na veľkú otázku života, vesmíru a všetkého, a tak podobne…
A tak sa pustil do konštrukcie. Návod na konštrukciu mal nasledovnú formu:
- zoberieme \(n\) súčiastok a \(n\) káblov. Súčiastky očíslujeme číslami \(1\) až \(n\).
- pozapájame súčiastky do seba pomocou káblov. Zo súčiastky \(i\) bude viesť kábel do súčiastky \(A_i\), kde hodnoty \(A_i\) sú súčasťou návodu. Do každej súčiastky bude viesť jeden kábel, inak povedané postupnosť \(A\) je permutácia.
- aplikujeme postupnosť výmen: pri každej výmene \(i,j\) prehodíme káble, ktoré vedú zo súčiastok \(i\) a \(j\). Pokiaľ pred výmenou viedli káble z \(i\) do \(x\) a z \(j\) do \(y\), tak po výmene budú viesť káble z \(i\) do \(y\) a z \(j\) do \(x\).
- stroj zapneme, a…
…nič. Jasne si pamätal, ako zhotovoval návod, a pretože on chyby nerobí, určite niektorý jeho neschopný spolupracovník predĺžil návod o zbytočné a nefunkčné výmeny. Bohužiaľ, nepamätá si, aký dlhý bol pôvodný návod, ktorý zhotovil. Vie len to, že na konci vznikne práve jeden súvislý elektronický obvod – rád by preto vedel počet súvislých obvodov na začiatku a po každej výmene, aby zistil, kde všade jeho časť návodu mohla končiť.
Úloha
Dve súčiastky sa nachádzajú v jednom cykle, pokiaľ sa vieme po kábloch dostať od jednej ku druhej. Celý počítač sa skladá z niekoľkých takýchto cyklov (súvislých obvodov) a profesora Einschweina zaujíma z koľkých.
Daná je permutácia čísel \(A_1,A_2,\ldots,A_n\) popisujúca počiatočné zapojenie, a postupnosť \(q\) výmen súčiastok. Zistite počet cyklov v štandardnom zapojení, a po každej výmene.
Formát vstupu
Na prvom riadku vstupu sa nachádza prirodzené číslo \(n \geq 2\) — dĺžka permutácie. Za ním je v nasledujúcom riadku počiatočná permutácia čísel \(1,2,\ldots,n\).
Na treťom riadku je počet výmen \(q\). Nasleduje \(q\) riadkov, na každom z nich sú dve rôzne prirodzené čísla \(1 \leq i,j \leq n\), popisujúce výmenu káblov vedúcich zo súčiastok \(i\) a \(j\).
Formát výstupu
Na výstup by váš program mal vypísať \(q+1\) riadkov, na prvom z nich je počet cyklov v počiatočnej permutácii, a na ostatných \(q\) riadkoch je počet cyklov po príslušnom počte výmen.
Hodnotenie
Je 10 testovacích sád. V jednotlivých sadách platia nasledovné obmedzenia:
Sada | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Maximálne \(n\) | 9 | 300000 | 300000 | 300000 | 40000 | 60000 | 80000 | 300000 | 300000 | 300000 |
Maximálne \(q\) | 400000 | 10000 | 10000 | 10000 | 120000 | 90000 | 80000 | 150000 | 150000 | 150000 |
Navyše, v sadách 2 a 3 je počiatočná permutácia usporiadaná vzostupne.
Príklad
Input:
4
1 2 4 3
3
1 2
4 3
2 1
Output:
3
2
3
4
Input:
5
2 3 4 5 1
4
1 5
2 5
3 5
4 5
Output:
1
2
3
4
5
Input:
6
1 5 2 3 6 4
6
1 6
2 3
6 4
5 1
4 5
4 3
Output:
2
1
2
3
2
3
2
Odovzdávanie
Na odovzdávanie sa musíš prihlásiť
Otázky a diskusia
Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.