Hokeja turnīrs

Hokeja turnīrs

vidēji grūts
Latvijas Informātikas olimpiādes logo
Uzdevums no Latvijas 37. (2023./2024. m. g.) informātikas olimpiādes (LIO) skolas kārtas.

Stāsts

No turnīra tabulas žurnālisti vēlas uzzināt komandu uzvaru secību. Dotajā tabulā spēle turpinās līdz vienas komandas uzvarai, un visas komandas ir sanumurētas ar naturāliem skaitļiem no 1 līdz NN.

Pēc turnīra beigām nepieciešams izvietot visas komandas tā, ka katra komanda uzvar nākamo. Pieņemsim, ka turnīrā piedalās piecas komandas un sākotnējā tabula ir, kā redzams attēlā (kur ii-tās rindas jj-tajā kolonnā ierakstīts 1, ja uzvarēja ii-tā komanda, bet 0, ja jj-tā komanda). Iespējama komandu secība ir 453124 \rightarrow 5 \rightarrow 3 \rightarrow 1 \rightarrow 2. Šī nav vienīgā iespējamā. Der arī, piemēram, 415324 \rightarrow 1 \rightarrow 5 \rightarrow 3 \rightarrow 2 vai 431524 \rightarrow 3 \rightarrow 1 \rightarrow 5 \rightarrow 2.

1. attēls: Turnīra tabula
1. attēls: Turnīra tabula

Ievaddati

Ievaddatu pirmajā rindā dots naturāls skaitlis NN (komandu skaits, N5000N \leq 5000). Nākamajās N1N-1 rindās dots spēļu rezultātu apraksts. Katram ii (2iN)(2 \leq i \leq N), ii-tā ievaddatu rinda satur i1i-1 ciparu bez tukšumzīmēm. Katram ii (2iN)(2 \leq i \leq N) un jj (1ji1)(1 \leq j \leq i-1) cipars ii-tās rindas jj-tajā pozīcijā apraksta, kā beigusies spēle kaut kas starp ii-to un jj-to komandu. Cipars 1 nozīmē, ka uzvarējusi ii-tā, bet 0 – ka jj-tā komanda. Spēļu rezultātu formāts ievaddatos atbilst turnīra tabulas apakšējai pusei. Ir zināms, ka šādus ievaddatus vienmēr iespējams sakārtot.

Izvaddati

Izvadā jābūt vienai iespējamai komandu secībai pēc aprakstītās loģikas. Ja iespējamas vairākas virknes ar aprakstīto īpašību, var izvēlēties jebkuru.

Piemēri

Ievaddati

5 0 11 111 0110 Kopēt kodu

Izvaddati

4 5 3 1 2 Kopēt kodu

Izpildes resursu ierobežojumi

CPU izpildes laiks uz testu: 0.5 sekundes.
RAM atmiņas apjoms uz testu: 256 megabaiti.

Apakšuzdevumi un to vērtēšana

#Apraksts un ierobežojumiPunkti
1.

Uzdevuma tekstā dotie divi testi.

2
2.

2N102 \leq N \leq 10

6
3.

11N10011 \leq N \leq 100

15
4.

101N1000101 \leq N \leq 1000

15
5.

1001N30001001 \leq N \leq 3000

18
6.

3001N50003001 \leq N \leq 5000

44
Apakšuzdevumu punktu summa = 100.

1. apakšuzdevuma ievaddati

6 1 11 111 1111 11111 Kopēt kodu
7 1 00 111 1110 11101 111011 Kopēt kodu