Hide

Problem B
Disjunkte mængder

Languages da en

Vedligehold en familie af disjunkte mængder, oprindeligt etpunktsmængderne {0},{1},,{n1}, 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 sS og tT, så er svaret »1« hvis S=T og »0« hvis ST.

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 sS og tT med ST, så fjernes S og T fra familjen, og mængden ST 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 sS og tT med ST, så ændres S til S{s} og T til T{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,m1000

0 og 1

2

10

n,m1000

0, 1 og 2

3

40

n,m100000

0 og 1

4

40

n,m100000

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 0s<n, 0t<n og m1.

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
Hide

Please log in to submit a solution to this problem

Log in