[BOJ 7184] Mõttemeister

View as PDF

Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 1G

Problem type
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

Mõttemeister on kahe mängija lauamäng. Esimene mängija mõtleb salajase 4-kohalise arvu ja teine hakkab seda ära arvama.</p>

Igal käigul pakub arvaja 4-kohalise arvu. Esimene mängija vastab kahe arvuga $A$ ja $B$, kus $A$ näitab, mitu õiget numbrit oli pakutud arvus, ning $B$, mitu nendest paiknesid õigel kohal.

Seejärel teeb arvaja uue pakkumise ning mäng jätkub, kuni arvaja arvab salajase arvu ära või käikude arv ületab teatud piiri.

Näiteks olgu salajane arv 5247. Pakkumisele 1234 oleks vastus 2 (numbrid 2 ja 4 on õiged) ja 1 (number 2 on õige koha peal).

Kui pakkumises on korduvaid numbreid, siis loetakse iga numbrit õigeks ainult niimitu korda, kuimitu eksemplari on seda numbrit salajases arvus.

Kirjuta programm, mis etteantud pakkumiste ja vastuste põhjal leiab kõik võimalikud salajase arvu väärtused.

입력 형식

Tekstifaili on täisarv $N$ ($1 \le N \le 10\,000$). Järgmisel $N$ real on igaühel ühe käigu kirjeldus: pakutud 4-kohaline arv, selle õigete numbrite arv $A$ ($0 \le A \le 4$) ja selles õigel kohal olevate numbrite arv $B$ ($0 \le B \le A$).

출력 형식

Tekstifaili esimesele reale väljastada salajase arvu võimalike väärtuste arv $M$. Järgmisele $M$ reale väljastada salajase arvu võimalikud väärtused kasvavas järjekorras.

예제 입력 1

1
1234 4 4

예제 출력 1

1
1234

예제 입력 2

2
0000 1 1
1111 3 3

예제 출력 2

4
0111
1011
1101
1110

Comments

There are no comments at the moment.