Stāsts
Galda tenisa turnīrā piedalās spēlētāji, kas pēc reitinga sakārtoti pēc kārtas un sanumurēti sākot no visstiprākā (reitinga numurs (saīsināti - rn.) ) un beidzot ar visvājāko (rn. ). Spēlētāju pāri tiek izlozēti, reizi atkārtojot šādas darbības:
- no līdz šim vēl nepaņemtajiem spēlētājiem tiek paņemts visstiprākais spēlētājs (ar vismazāko reitinga numuru) un
- no līdz šim vēl nepaņemtajiem spēlētājiem tiek izlozēts pretspēlētājs.
Atlikušie divi spēlētāji veido pēdējo spēlētāju pāri.
Piemēram, ja ir astoņi spēlētāji, tad pāru izloze var notikt šādi:
-
- pāris: paņemts spēlētājs ar rn. un izvēlēts tā pretspēlētājs ar rn. ,
-
- pāris: paņemts spēlētājs ar rn. un izvēlēts tā pretspēlētājs ar rn. ,
-
- pāris: paņemts spēlētājs ar rn. un izvēlēts tā pretspēlētājs ar rn. ,
-
- pāris: spēlētāji ar reitinga numuriem un .
Izlozes organizētājs Konrāds ir ievērojis, ka, zinot šo algoritmu, pietiek pierakstīt izlozēto pretspēlētāju reitinga numurus, lai varētu atjaunot visu spēlētāju pāru sarakstu.
Diemžēl šajā pretspēlētāju reitinga numuru virknē var būt kļūdas. Nepieciešams noteikt, kāds mazākais pretspēlētāju reitinga numuru skaits šajā sarakstā jāaizstāj ar citiem, lai šo virkni būtu iespējams iegūt ar doto algoritmu. Jānosaka arī, kāds būs spēlētāju pāru saraksts pēc sākotnējās reitinga numuru virknes salabošanas.
Uzrakstiet datorprogrammu, kas dotai vērtībai un izlozētajiem pretspēlētāju reitingu numuriem, izvada mazāko nepieciešamo izmaiņu skaitu un visus spēlētāju pāru reitinga numurus, kas iegūti pēc aprakstītā algoritma, izmantojot salaboto sarakstu!
Ievaddati
Pirmajā rindā dots naturāls skaitlis - spēlētāju pāru skaits ().
Nākamajās rindās katrā dots naturāls skaitlis, kas nepārsniedz . Katram ievaddatu -ajā rindā dots tā spēlētāja, kurš tika izvēlēts kā pretspēlētājs -tajā pārī, reitinga numurs.
Izvaddati
Izvaddatu pirmajā rindā jāizvada vesels nenegatīvs skaitlis () - mazākais izmaināmo reitinga numuru skaits izlozēto pretspēlētāju sarakstā.
Nākamajās izvaddatu rindās jāizvada spēlētāju pāru numuri. Katram () izvaddatu -ajā rindā jābūt diviem, ar tukšumzīmi atdalītiem, naturāliem skaitļiem - -tā pāra spēlētāju reitinga numuriem augošā secībā. Pirmo pretspēlētāju reitingu numuru sarakstam no ievaddatos doto pretspēlētāju reitingu numuru saraksta jāatšķiras tieši pozīcijās.
Apakšuzdevumi un to vērtēšana
| # | Apakšuzdevuma apraksts | Punkti |
|---|---|---|
| 1. | Uzdevuma tekstā dotie trīs testi | 2 |
| 2. | 14 | |
| 3. | 21 | |
| 4. | , visi dotie reitinga numuri ir savā starpā atšķirīgi | 27 |
| 5. | Bez papildu ierobežojumiem | 36 |
Piemēri
Ievaddati
4
1
3
6
Izvaddati
1
1 8
2 3
4 6
5 7
Ievaddati
5
2
4
10
9
Izvaddati
0
1 2
3 4
5 10
6 9
7 8
1. apakšuzdevuma ievaddati
10
8
4
16
9
20
9
19
9
17
12
24
2
3
21
19
6
15
8
11
12
18
11
3
4
5
13
7
8
10
22
16
20