Problem A
Disjunkte mængder
Languages
da
en
Vedligehold en familie af disjunkte mængder, oprindeligt etpunktsmængderne $ \{ 0\} ,\{ 1\} , \ldots ,\{ n-1\} $, under følgende operationer:
- 0 (»forespørgsel«)
-
Forespørgslen tager to elementer $s$ og $t$ og afgør, om $s$ og $t$ tilhører samme mængde. Mere nøjagtigt gælder, at når $s\in S$ og $t\in T$, så er svaret »1« hvis $S=T$ og »0« hvis $S\neq T$.
- 1 (»forening«)
-
Foreningsoperationen tager to elementer $s$ og $t$ og danner foreningsmængden af de to mænger, der indeholder $s$ og $t$. Mere nøjagtigt gælder, at når $s\in S$ og $t\in T$ med $S\neq T$, så fjernes $S$ og $T$ fra familjen, og mængden $S\cup T$ tilføjes. (Når $S=T$, sker der ingenting.)
- 2 (»flytning«)
-
(Flytning forekommer kun i testgrupperne 2 og 4.) Flytningsoperationen tager to elementer $s$ og $t$ og flytter elementet $s$ til mængden indeholdende elementet $t$. Mere nøjagtigt gælder, at når $s\in S$ og $t\in T$ med $S\neq T$, så ændres $S$ til $S-\{ s\} $ og $T$ til $T\cup \{ s\} $. (Når $S=T$, sker der ingenting.)
Læg mærke til, at disse operationer opretholder invarianten om, at familjens mængder er disjunkte.
Testgrupper
Der er fire testgrupper.
Testgruppe |
Point |
Problemstørrelse |
Operationer |
1 |
10 |
$n,m\leq 1\, 000$ |
0 og 1 |
2 |
10 |
$n,m\leq 1\, 000$ |
0, 1 og 2 |
3 |
40 |
$n,m\leq 100\, 000$ |
0 og 1 |
4 |
40 |
$n,m\leq 100\, 000$ |
0, 1 og 2 |
Hver løsning til testgruppe 3 løser også testgruppe 1. Hver løsning til testgruppe 4 løser alle andre testgrupper.
Indlæsning
Indlæsningen begynder med to positive heltal $n$, $m$ på første linje. Tallet $n$ er antallet af oprindelige etpunksmængder. De følgende $m$ linjer har formen »0 $s$ $t$« eller »1 $s$ $t$« eller »2 $s$ $t$«, for henholdvis forespørgsel, forening og flytning. Flytning forekommer ikke i testgrupperne 1 og 3. Du kan antage $0\leq s< n$, $0\leq t< n$ og $m\geq 1$.
Udskrift
For hver forespørgsel, skriv en linje med »1« eller »0« som beskrevet foroven.
Sample Input 1 | Sample Output 1 |
---|---|
4 9 0 0 1 1 0 1 0 0 1 1 1 2 0 1 2 0 0 3 1 2 3 0 2 3 0 0 3 |
0 1 1 0 1 1 |
Sample Input 2 | Sample Output 2 |
---|---|
4 9 0 0 1 1 0 1 0 0 1 1 1 2 0 1 2 0 0 3 2 2 3 0 0 1 0 1 2 |
0 1 1 0 1 0 |
Sample Input 3 | Sample Output 3 |
---|---|
2 2 1 0 0 0 0 1 |
0 |