Memorija - Županijsko (2015)
Županijsko natjecanje 2015. / Osnovna škola (7. razred) - 3.zadatak
Iva i Sandra igraju Memory. Na početku igre, Memory karte na stolu su raspoređene u \(R\) redaka i \(S\) stupaca (ima ih ukupno \(R \times S\)) i okrenute su poleđinom prema gore tako da se ne vidi što je na njima. Na svakoj karti nacrtana je jedna slika, a cilj je pronaći parove karata na kojima se nalazi ista slika.
Potez najprije vuče Iva. U svakom potezu igrač okreće (otkriva) dvije karte sa stola po vlastitom izboru. Ako se ispostavi da te dvije karte čine par (ako je na njima ista slika), igrač ih uklanja i uzima sebi, a sljedeći je potez ponovno njegov. Ako pak otkrivene karte nisu par, igrač ih okreće natrag, a sljedeći je potez protivnikov. Dobar igrač pamti otkrivene slike da bi uspješno pronalazio parove.
Napiši program koji prati karte koje Iva i Sandra okreću i na osnovi tih podataka ispisuje sljedeće:
- sve parove, tj. slike koje je Iva osvojila (uklonila i uzela sebi),
- sve parove, tj. slike koje je Sandra osvojila,
- broj karata koje još nisu uklonjene, a barem dvaput su otkrivene,
- broj parova koji još nisu uklonjeni, a iz dosadašnjih se poteza može zaključiti gdje se nalaze (dobar igrač može ih odmah osvojiti).
Svaki redak zasebno se boduje, ako je točan i na svojemu mjestu. Od \(10\) bodova koliko nosi svaki test podatak, prvi redak nosi \(2\) boda, drugi \(2\) boda, treći \(3\) boda i četvrti \(3\) boda.
Ulazni podaci
U prvom retku nalaze se prirodni brojevi \(R\) i \(S\) \((1 \leq R, S \leq 6)\) iz teksta zadatka.
U drugom retku nalazi se prirodan broj \(P\) \((1 \leq P \leq 25)\), broj dosadašnjih poteza.
U svakom od sljedećih \(P\) redaka nalazi se opis poteza u sljedećem obliku: R1 S1 slika1 R2 S2 slika2
To znači da je u dotičnom potezu igrač okrenuo:
- kartu u retku R_1 i stupcu S_1, na njoj otkrivši
sliku1
, - kartu u retku R_2 i stupcu S_2, na njoj otkrivši
sliku2
.
slika1
i slika2
su riječi sastavljene od \(2\)-\(10\) malih slova engleske abecede koje opisuju što je na slici.
Napomena: Ulazni podaci ispravno će opisati igru. Dakle, svaka slika javlja se na točno dvjema kartama (koje će možda biti otkrivene, a možda i neće), umnožak \(R \times S\) je paran (jer karte dolaze u parovima), dvije karte otkrivene u istom potezu nalaze se na različitim mjestima i nisu već uklonjene, na karti koja se otkriva više puta uvijek je ista slika, i tako dalje.
Izlazni podaci
U četiri retka ispiši četiri tražena podatka iz teksta. Pritom u prvi redak ispiši samo osvojene slike, odvojene razmakom, redom kojim su osvojene. Ako ih nema, ispiši \(0\). Isto vrijedi za drugi redak.
Primjeri test podataka
Ulaz
1 6
2
1 3 stablo 1 4 stablo
1 2 ptica 1 6 ptica
Izlaz
stablo ptica
0
0
1
Objašnjenje
Opis prvog test podatka: Iva je u prvom potezu osvojila par stabala pa je dobila pravo na novi potez i u njemu osvojila par ptica. Na stolu su preostale karte na mjestima \((1, 1)\) i \((1, 5)\). One sigurno čine par pa u četvrti redak ispisujemo \(1\).
Ulaz
4 4
6
1 1 batman 2 2 superman
3 3 turboman 4 4 batman
1 1 batman 4 4 batman
2 4 turboman 1 4 superman
3 3 turboman 2 4 turboman
1 4 superman 3 1 nepisman
Izlaz
batman
turboman
1
1
Objašnjenje
Opis drugog test primjera: Poteze su redom vukle Iva, Sandra, Iva (osvaja batmane), Iva, Sandra (osvaja turbomane), Sandra. U treći redak ispisujemo \(1\) jer je karta \((1, 4)\) otkrivena dvaput, a još nije uklonjena. U četvrti redak ispisujemo \(1\) jer možemo zaključiti da se par supermana nalazi na \((2, 2)\) i \((1, 4)\).
Comments
Treba previše varijabla, nisam toliko kreativna :D
slažem se