Biljar


Submit solution

Points: 70 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Perl, Python

Županijska razina / Primjena algoritama OŠ 2020. / Osnovna škola (8. razred) - 2. zadatak

Sve više IT tvrtki odlučuje kupiti biljarski stol kako bi se programeri osjećali ugodno za vrijeme pauza na poslu.

Biljar je igra u kojoj igrači pokušavaju u što manje poteza pospremiti sve svoje kuglice u šest rupa.

Postoji 15 kuglica. Na svakoj od njih piše jedan prirodan broj između 1 i 15.

Za sedam kuglica kažemo da su “pune” (to su kuglice s brojevima od 1 do 7), za sedam da su “prazne” (to su kuglice s brojevima od 9 do 15) i za jednu da je “crna”, to je kuglica s brojem 8.

Međutim, programeri troše previše vremena na preslagivanje kuglica iz nekog trenutno zadanog rasporeda u neki od dva dozvoljena rasporeda u što je moguće manje poteza.

Na slici 1. prikazana su jedina dva dozvoljena rasporeda.

Kuglice u kojima je upisan znak “X” označavaju “pune” kuglice, crno obojena kuglica označava “crnu” kuglicu, a ostale su “prazne” kuglice

U jednom potezu oni mogu zamijeniti kuglice na bilo koje dvije pozicije. Pozicije su numerirane kao na slici 2.

Kako se ne bi morali mučiti s rješavanjem problema i na pauzama, zamolili su tebe da im napišeš program koji ispisuje poteze kojima mogu iz zadanog rasporeda dobiti neki od dozvoljenih rasporeda.

Ulazni podaci

U prvom je retku 15 prirodnih brojeva koji opisuju trenutni raspored kuglica.

Na i-tom mjestu nalazi se broj koji piše na kuglici koja se nalazi na poziciji i (slika 2.).

Svaka od 15 kuglica bit će na nekoj poziciji.

Izlazni podaci

U prvi redak ispiši broj poteza potreban da se kuglice poslože u neki od dozvoljenih rasporeda.

Zatim ispiši poteze, svaki u svoj redak, u obliku “A B” (bez navodnika) gdje su A i B prirodni brojevi manji ili jednaki 15 i A je različito od B.

Taj potez znači da zamjenjuješ kuglice na pozicijama A i B.

Primjer zadatka

Ulaz
15 7 1 12 8 11 6 10 3 4 14 5 13 9 2
Izlaz
1
14 15

Ulaz
5 9 11 2 6 1 15 14 13 12 4 3 8 10 7
Izlaz
2
5 13
12 8
Objašnjenje

Opis drugog probnog primjera: Na slikama su prikazani rasporedi kuglica na početku, nakon prve zamjene i nakon druge zamjene. Uoči da završni raspored odgovara desnom rasporedu sa slike 1.


Comments

There are no comments at the moment.