Fişierul intrare/ieşire: | cifrul.in, cifrul.out | Sursă | ONIS 2015, Runda 1 |
Autor | Murtaza Alexandru | Adăugată de | UNIBUC Impaler-009 Challenge costyv87 •The_Viper_The_Mountain_And_The_Imp |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Por Costel si Cifrul
Por Costel a gasit legendarul seif despre care se spune ca “ascunde atata mancare incat un om se poate hrani o viata intreaga”. El crede ca ii va ajunge pentru micul dejun, insa trebuie mai intai sa treaca de mecanismul ei defensiv care seamana foarte mult (in mod curios) cu cel al unei valize.
Pentru a deschide seiful, el trebuie sa introduca un cod de lungime ( cifre de la de la la ). Codul se introduce prin intermediul a rotite. Acestea pot fi actionate in sus sau in jos (daca o rotita indica valoarea , ea poate fi actionata printr-o singura miscare sa indice valoarea sau sa indice valoarea ).
Legenda spune ca seiful a fost faurit de porci stravechi. De aceea, exista coduri distincte care pot deschide seiful. Mai mult, seiful s-a deteriorat cu timpul iar acum fiecare rotita din cele are o “marja de eroare” data printr-un numar . Ce inseamna acest lucru este ca un cod va deschide seiful daca exista un cod din cele pentru care: ≤ oricare de la la unde:
- distanta dintre doua cifre si insemna numarul minim de actionari ale unei rotite pentru a trece de la cifra la cifra
- insemna a -a cifra din codul , analog definim
Cum sistemul a fost proiectat de niste porci, era de asteptat sa nu fie de prea mare calitate. Exista foarte multe combinatii care deschid seiful, atat de multe incat noi va cerem sa calculati numarul lor modulo . Por Costel deja se linge pe bot de pofta !
Date de intrare
Fişierul de intrare cifrul.in va contine pe prima linie , numarul de teste, pe urmatoarele linii vor fi descrise testele astfel: prima linie va contine , , , , urmatoarele linii contin cate numere separate prin spatii (reprezentand codurile celor M porci stravechi). A -a dintre aceste linii descrie al -lea cod
Date de ieşire
În fişierul de ieşire cifrul.out va contine linii, fiecare avand numarul cerul pentru testul respectiv.
Restricţii
- ≤ ≤
- ≤ ≤
- ≤ ≤
- ≤ ≤
Exemplu
cifrul.in | cifrul.out |
---|---|
2 1 2 10000 3 1 6 3 1 100 5 1 6 30 | 12 1331 |