.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » dame

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
dame


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
2MB / 1MB

Ana şi Bogdan joacă dame. Tabla de joc este o tablă de şah obişnuită, ca în figura de mai jos:



Observaţi că liniile sunt numerotate de la 1 la 8, iar coloanele sunt etichetate cu literele mici de la a la h, astfel că fiecare poziţie de pe tablă este identificată prin litera asociată coloanei pe care se află, urmată de numărul liniei. De exemplu, pătratul din stânga-jos este a1 şi este negru; pătratul din dreapta-sus este h8 şi este de asemenea negru. La începutul jocului fiecare jucător are 12 piese (Ana piese albe, Bogdan piese negre). Iniţial piesele albe sunt plasate în poziţiile a1, a3, b2, c1, c3, d2, e1, e3, f2, g1, g3, h2. Piesele negre sunt plasate iniţial în poziţiile a7, b6, b8, c7, d6, d8, e7, f6, f8, g7, h6, h8. Ana şi Bogdan mută alternativ, prima la mutare fiind Ana, deoarece joacă cu piesele albe. Piesele sunt denumite dame.
O damă poate executa două tipuri de mutări:
1. mutare simplă: piesa este mutată pe tablă diagonal înainte cu o poziţie, dacă poziţia diagonal următoare este liberă. De exemplu o damă albă aflată în poziţia d4 poate fi mutată în poziţia c5 sau e5; o damă neagră aflată în poziţia d4 poate fi mutată în poziţia c3 sau e3.
2. salt: dama sare în diagonală peste o piesă a adversarului şi ajunge pe tablă în poziţia diagonal următoare (dacă aceasta este liberă). Piesa adversarului peste care s-a sărit va fi eliminată de pe tablă. Dacă după efectuarea unui salt piesa respectivă poate efectua un alt salt, în acelaşi mod, va continua salturile. Salturile sunt permise în oricare dintre cele 4 direcţii. De exemplu, să considerăm că avem o damă în poziţia d4, iar în poziţia e5 este o piesă a adversarului. După salt dama din d4 va ajunge în poziţia f6 (aceasta trebuie să fie liberă), iar piesa din e5 este eliminată de pe tablă.
În timpul jocului, pisica Anei a răsturnat tabla de joc. Din fericire Ana şi Bogdan îşi amintesc mutările.

Cerinţă

Scrieţi un program care să restaureze configuraţia tablei de joc, pe baza şirului de mutări efectuate.

Date de intrare

Fişierul de intrare dame.in conţine pe prima linie un număr natural N reprezentând numărul de mutări efectuate de la începutul partidei. Pe următoarele N linii sunt descrise cele N mutări, câte o mutare pe o linie. O mutare simplă este descrisă prin specificarea celulei iniţiale şi a celulei finale separate prin caracterul ′-′ (minus). Dacă mutarea nu este corectă (nu respectă regulile din enunţ), va fi ignorată. Un salt este descris prin specificarea celulei iniţiale şi a celulelor prin care trece piesa separate prin caracterul ′:′. Dacă pe parcursul unui salt se încalcă regula din enunţ, atunci saltul se execută până la prima eroare întâlnită. Chiar dacă o mutare este ignorată, următoarea mutare este efectuată de celălalt jucător.

Date de ieşire

Fişierul de ieşire dame.out va conţine 8 linii, fiecare linie conţinând exact 8 caractere din mulţimea {′.′, ′-′, ′a′, ′n′} cu semnificaţia: ′.′ pătrat alb gol, ′-′ pătrat negru gol, ′a′ damă albă, ′n′ damă neagră.

Restricţii

1 ≤ N < 75
• Liniile din fişierul de intrare au maxim 50 de caractere.

Exemple

dame.indame.out
4 c3-d4 f6-e5 d4:f6 g7:e5 .n.n.n.n n.n.n.-. .n.n.-.n -.-.n.-. .-.-.-.- a.-.a.a. .a.a.a.a a.a.a.a.

autor: Prof. Emanuela Cerchez
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la OMI Iaşi 2012: lgdrum, consiliu, subtitrare, prieteni3, becuri2, test2, bancomat, sume4
De acelaşi autor: celule, scp, vedete, film, ab, supertri, inginer, camp, sl, detinut, simetric, egal, gropi, ruleta, carti, tgv, uscat, afise, dezbateri, bunici, rv, onu, nspecial, secvop, cadou, chimie, reteta, piticot, petrol, checkin, teanc, index, teren, pizza, ecran, drum, text, lbd, aven, spam, pluricex, tren2, gray, pasi, mgo, joc, anagrame, vecini, criptmat, maxim, cutie, party, friends, net, sablon, hd, pc, sir2, aztec, scara, nr, robot2, sah, formule, ed, bilete, hanoig, flood, matrice3, erdos, grup, cd, kfactor, np, cuc, radio, honest, ref, nr01, scor2, convert, auto2, compress, politics, pm, playlist, barbie, firma1, submatrix, ham, pizza1, exam, ants, teatru1, cifre1, bile1, caini, secvreg, pasune, remi, m01, sir23, tren1, joc5, pachete, aedaro, windows, renju, latime, mere1, piloti, peste, pitici, sirag1, stive, turn1, carti1, program1, spioni, kgb, lift, apel, lex, oras, homeless, subsir, dist, harta1, adevar, joc10, bare, zapezi, masina2, perechi1, raft, joc11, joc12, ferma, fni, tunel, lover, pepsi, transport, avion, monkey, premii1, garaj, carti2, tv, pact, fat, cafea, echipe1, secvente, petrom, peg, scara1, lant, ecuatii, stiva, bile4, jungla, rj, poli, text1, compus1, rez, politie, anag, codul, coment, muzeu, seti, basm, timer, secvsir, dp, placa, prod3, bursa, submdisj, sotron1, fazan, secvpar, joker, lego, medalii, cfr, antipatie, figura, links, segm, colorare, brazi, mobil, distsir, guess, greiere, pestera, conferinta, chei, ny, nx, ghinion, sumb, drenaj, telecomanda, grupuri, mahjong, rotund, viena, sport2, cos, monoton, micro, valet, nr0, maxviz, anagramabil, nrpal, lista, consiliu, adprod, arme, deal, prodnr, compar, latin, interviu, vintage, prize, nrdiv, arrows, tdrept, agenda, reziston, vot2, tema, smiley, relatii, ech, scadere, nebuni, castig, expand, wb, prime2, virgule, b210
Despre matrice: vopsea, harta, opmat, sarpe, light, magic2, tetris, origami, concurs, iepuras, tribile, criptmat, cutie, patrate, 3d, pajura, perspic, vecini2, livada, matrice3, kafka, erdos, grup, scor2, reteta2, rezervatie, scoici, tablou, game, stea, submatrix, cifru, jokes, oua, trecere, na, dotnet, renju, ghici, mere1, agitatie, lacuri, sotron, desen1, camion, ceas1, fibo, parc, excursia, matricea, zidar, joc6, log, concurs2, cladiri, dist, centru, robinson, cuburi2, joc8, joc9, romeo, adevar, soricel2, avere, joc11, vizibil, sah1, blockout, masina3, lsort, anticip, matrice1, evantai, spion, pereti, zumzi, roboti, placare, tabel, ocr, numere7, lacusta, becuri, sir5, flori, cartele, furnica, pavare, poarta, rj, peri, poligon2, sablon1, gradina, matrice4, poartas, balcon, submdisj, v, matrx, figura, neuroni, raze, roboti1, bila, iepurasi, colorare, mat, submatrix1, simetric1, plaja, xor2, guess, albine1, joct, alfabetar, stele, tablou1, alpinist, cladire, cri, grupe2, el, mahjong, sir9, acces, tort1, joc17, mesaj3, zar1, xy, poteci, avioane, broscute, safeu, acoperire1, radioactiv, robot4, lcdr, jb, slide, maxtri, triunghi4, elicop, compresie, mijloc, cubulete, romb, medalion, bile6, zigzag, puncte5, intersectii, matd3, matrixdel, speed, seif1, traseu2, incadrare, betasah, zona, latin, zmax, amestec, sudoku1, gradina1, spider, zone, bemo, rombul, interclasare, rebus1, tabla, arrows, pseudobil, patrat1, rascoala, harta2, relatii, lasere, defrag, matcnt, ssdj, cript, ssk, teren1, fence, cifre6
Despre simulare: lbd, iepuras, tren2, mgo, joc2, kafka, comori, loc, bile3, cat, felinare, spioni, lift, kalah, cutii, roboti, pesti, zar1, joc16, safeu, joc20, conjectura, arc, wb, robot6
Software recomandat
surse trimise | ajutor