Un mușuroi format din mai multe celule este reprezentat ca o matrice cu linii, numerotate de la 1 la , și coloane, numerotate de la 1 la , fiecare element al matricii corespunzând unei celule. Poziţia unei celule din mușuroi este identificată prin linia şi coloana pe care se află. În fiecare celulă a mușuroiului este desenată o săgeată, care indică sensul în care o furnică aflată în poziţia respectivă se va deplasa. Săgețile sunt codificate cu numere de la la .
Dacă furnica se află în celula (, ) la momentul , atunci la momentul ea va ajunge în poziţia:
- (, ), dacă săgeata este 0;
- (, ), dacă săgeata este 1;
- (, ), dacă săgeata este 2;
- (, ), dacă săgeata este 3;
- (, ), dacă săgeata este 4;
- (, ), dacă săgeata este 5;
- (, ), dacă săgeata este 6;
- (, ), dacă săgeata este 7.
În figura alăturată sunt ilustrate săgeţile, fiind indicată poziţia în care ajunge furnica pentru fiecare dintre ele.
Cerință
Cunoscând reprezentarea muşuroiului, scrieţi un program care să răspundă la întrebări de forma c , cu semnificația “Dacă o furnică pornește de la celula (, ) la momentul de timp , la ce moment de timp va ajunge a -a oară în poziţia (, )?”. Se garantează că furnica poate trece de cel puțin ori prin celula (, ) dacă pornește din celula (, ).
Date de intrare
Fișierul de intrare musuroi.in
conţine pe prima linie numerele naturale și cu semnificația din enunț. Pe următoarele linii se află câte numere cuprinse între 0 și 7, ce reprezintă săgețile din fiecare celulă a matricii. Pe linia se află numărul natural , reprezentând numărul de întrebări, iar pe următoarele linii se află cele întrebări, câte o întrebare pe o linie, în forma descrisă mai sus. Valorile scrise pe aceeaşi linie sunt separate prin câte un spaţiu.
Date de ieșire
Fișierul de ieșire musuroi.out
conține linii, pe linia aflându-se un număr ce reprezintă răspunsul pentru cea de a -a întrebare din fişierul de intrare ().
Restricții și precizări
- În întrebările pentru care poziţiile (, ) şi (, ) pot să coincidă, caz în care răspunsul este 0.
- Se garantează că furnica, deplasându-se în sensul săgeţilor, va rămâne în muşuroi.
# | Scor | Restricții |
---|---|---|
1 | 11 | |
2 | 37 | , fără restricții suplimentare |
3 | 9 | |
4 | 43 | , fără restricții suplimentare |
Exemplul 1
musuroi.in
6 6
7 6 4 0 0 6
0 5 2 0 3 4
2 5 0 5 2 6
0 7 5 0 6 3
6 1 7 2 0 6
0 0 0 0 2 4
2
2 4 2 6 1
4 2 6 6 1
musuroi.out
5
6
Explicație
Prima întrebare: furnica pleacă la momentul din poziţia . Traseul furnicii este:
. La momentul a ajuns la destinaţie, în poziţia pentru prima dată ().
A doua întrebare: furnica pleacă la momentul din poziţia . Traseul furnicii este:
. La momentul a ajuns la destinaţie, în poziţia pentru prima dată ().
Exemplul 2
musuroi.in
6 6
7 6 4 0 0 6
0 5 2 0 3 4
2 5 0 5 2 6
0 7 5 0 6 3
6 1 7 2 0 6
0 0 0 0 2 4
2
2 4 2 6 3
4 2 6 6 5
musuroi.out
15
22
Explicație
Prima întrebare: furnica pleacă la momentul din poziţia . Traseul furnicii este:
. La momentul a ajuns la destinaţie, în poziţia pentru a treia oară ().
A doua întrebare: furnica pleacă la momentul din poziţia . Traseul furnicii este:
. La momentul a ajuns la destinaţie, în poziţia pentru a cincea oară ().