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

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


Timp maxim de executie/test:
1 secunde
Memorie totala disponibila/stiva:
20 MB/1 MB

Otilia si Burbucel, fiind in fata unei gramezi de N pietre si neavand ce face, stabilesc regulile unui nou joc. Cei doi copii vor ca jocul sa fie simplu asa ca impun doar trei reguli:

1.  Primul jucator are voie sa ia din gramada cel mult K piese

2.  Cu exceptia primei mutari, fiecare jucator are voie sa ia maxim P*t pietre, unde t este numarul de pietre care au fost substituite din gramada la mutarea precedenta

3. Pierde cel care muta ultimul (cel care ia ultimele pietre din gramada)

Cei doi au jucat multe jocuri, Burbucel fiind intotdeauna cel care alege numerele N, K si P si Otilia primul jucator care muta. Otilia a observat ca alegerile lui Burbucel se repeta dupa M jocuri (alegerea numarul M+1 este identica cu alegerea numarul 1, alegerea numarul M+2 este identica cu alegerea numarul 2, etc.). Ea ar vrea sa stie daca poate castiga sau nu pentru fiecare dintre primele M alegeri ale lui Burbucel. Motivul este usor de intuit: Otilia nu vrea sa-i dea ocazia lui Burbucel sa castige asa ca va renunta pe jocurile unde nu are strategie de castig.

Cerinta

Scrieti un program care rezolva dilema Otiliei.

Date de intrare

Pe prima linie a fisierului otilia.in se afla M, numarul de alegeri ale lui Burbucel. Urmatoarele M linii contin cate trei numere, N, K si P reprezentand o alegere a lui Burbucel (N – numarul de pietre din gramada, K – numarul maxim de pietre pe care le poate lua Otilia la prima mutare, P – factorul cu care se inmulteste numarul de pietre luate la mutarea precedenta rezultand astfel numarul maxim de pietre care se pot substitui la mutarea curenta).

Date de iesire

Fisierul otilia.out contine M linii, pe linia i aflandu-se 1 daca Otilia castiga la alegerea numarul i a lui Burbucel sau 0 daca ea pierde  (alegerile sunt numerotate de la 1 la M in ordinea in care se gasesc in fisierul de intrare).

Restrictii

  • 1 <= M <= 30 000
  • 1 <= N <= 5 000 000
  • 1 <= K <= N
  • 1 <= P <= 10
  • Pentru 50% din teste N <= 500 000 pentru toate alegerile lui Burbucel

Exemplu

otilia.in otilia.out
4
1 1 3
3 2 8
5 1 3
100 1 1
0
1
0
1

Silviu Ionut Ganceanu
Universitatea Politehnica Bucuresti
Contact: tzi_ganci@hotmail.com

propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Probleme recomandate
De la .campion 2004: cifre1, super, apm, bile1, factk, schimb, caini, secvreg, descfib, maraton, masina1, multiplu, tub, pasune, remi, m01, robot1, na, sir23, paralel, zaruri, bomboane, dotnet, divizor, tren1, joc5, tvshow, pachete, soldati1, echipe, omizi, suma1, aedaro, concurs1, windows, comb, renju, latime, vectori, ghici, subperm, puncte, mere1, spirala, distanta, piloti
De acelaşi autor: descfib, tvshow, algola, bifo, pal, evantai, treegame
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, log, sant, produs, subsir, cover, bcast, emax, dist, mesaj1, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, pitici1, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, orientare, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, sablon2, telecab, ikebana, radare, hacker, obstacole, robotel, centrala, verigi, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, speed, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
surse trimise | ajutor