#2479
pietre
O tablă de joc cu n
linii, numerotate de la 1
la n
și m
coloane, numerotate de la 1
la m
conține n*m
celule identice. Celula din colţul din stânga sus se află pe linia 1
şi coloana 1
. O celulă poate fi: celulă liberă, celulă în care se află o piatră sau celulă de tip gaură.
Pietrele sunt numerotate cu valori începând de la 1
. Numerotarea pietrelor pe tablă se face în ordinea în care sunt
date în fișierul de intrare. O celulă de pe tablă are maxim patru celule vecine, aflate în direcțiile: nord, vest, sud, est, iar o piatră poate sări doar peste o celulă vecină în care se află o piatră. În urma unei astfel de sărituri, piatra peste care s-a sărit dispare de pe tablă. Astfel, o piatră situată în celula de pe linia i
și coloana j
, poate sări :
i-1
și coloana j
și ajunge în celula de pe linia i-2
și coloana j
, iar piatra aflată pe linia i-1
și coloana j
dispare; o astfel de săritură se notează cu litera N
;i
și coloana j+1
și ajunge în celula de pe linia i
și coloana j+2
, iar piatra aflată pe linia i
și coloana j+2
dispare; o astfel de săritură se notează cu litera E
;i+1
și coloana j
și ajunge în celula de pe linia i+2
și coloana j
, iar piatra aflată pe linia i+1
și coloana j
dispare; o astfel de săritură se notează cu litera S
;i
și coloana j-1
și ajunge în celula de pe linia i
și coloana j-2
, iar piatra aflată pe linia i
și coloana j-1
dispare; o astfel de săritură se notează cu litera V
.O săritură a unei pietre este permisă doar dacă celula în care urmează să ajungă se află pe tabla de joc, este liberă și în celula peste care sare există o piatră.
Se cunoaște o succesiune de sărituri formată din maxim 255 de caractere S
, N
, E
sau V
, după care o piatră realizează săriturile specificate, în ordine, de la stânga la dreapta. Dacă piatra ar trebui execute o săritură care nu este permisă, poziţia ei nu se modifică şi se trece la săritura următoare din succesiune.
Să se determine numărul pietrei care efectuând sărituri în conformitate cu succesiunea dată, conduce la o configuraţie finală formată dintr-un număr minim de pietre pe tablă. Dacă există mai multe pietre care ar conduce la acelaşi număr minim de pietre în configuraţia finală, se va afişa valoarea cea mai mică dintre numerele de identificare ale pietrelor respective.
ONIgim2018
Problema | pietre | Operații I/O |
pietre.in /pietre.out
|
---|---|---|---|
Limita timp | 2 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
Id soluție | #50654608 | Utilizator | |
Fișier | pietre.cpp | Dimensiune | 2.42 KB |
Data încărcării | 18 Aprilie 2024, 18:29 | Scor / rezultat | 100 puncte |
pietre.cpp: In function 'int main()': pietre.cpp:32:37: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("pietre.in", "r", stdin); ^ pietre.cpp:33:39: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("pietre.out", "w", stdout); ^ pietre.cpp:76:40: warning: 'pozmax' may be used uninitialized in this function [-Wmaybe-uninitialized] int x = v[pozmax].x, y = v[pozmax].y; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0 secunde | OK. | 5 | 5 | ||
9 | 0 secunde | OK. | 5 | 5 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | OK. | 5 | 5 | ||
12 | 0 secunde | OK. | 5 | 5 | ||
13 | 0 secunde | OK. | 5 | 5 | ||
14 | 0 secunde | OK. | 5 | 5 | ||
15 | 0 secunde | OK. | 5 | 5 | ||
16 | 0 secunde | OK. | 5 | 5 | ||
17 | 0.008 secunde | OK. | 5 | 5 | ||
18 | 0.036 secunde | OK. | 5 | 5 | ||
19 | 0.028 secunde | OK. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema pietre face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.