#1064
Cri
Furnicuţa şi-a construit un depozit pentru grăunţe pe o suprafaţă de teren dreptunghiulară şi l-a compartimentat în N*M
camere identice, de formă pătratică, dispuse câte M
pe direcţia Ox
şi câte N
pe direcţia Oy
. Din fiecare cameră se poate intra în orice cameră învecinată cu ea (cameră care are un perete comun cu aceasta).
În fiecare cameră, identificată prin coordonatele sale, ca în desenul alăturat în care N=5
şi M=4
, furnica a depozitat o cantitate de grăunţe. De exemplu, în camera de coordonate (I,J)
este depozitată cantitatea C
IJ
de grăunţe.
Atât intrarea cât şi ieşirea din depozit se poate face doar prin cele patru camere din colţurile depozitului, adică cele de coordonate (1,1)
, (1,M)
, (N,1)
şi (N,M)
care comunică cu exteriorul.
Pentru a asigura circulaţia aerului în depozit, furnica a montat un sistem de ventilaţie în camera de coordonate (X,Y)
.
Văzând ce multe grăunţe are furnica pentru iarnă, vecinul ei, leneşul greieraş Cri, s-a hotărât să fure din ele.
Cri s-a gândit să intre în depozit prin sistemul de ventilaţie din camera de coordonate (X,Y)
şi să iasă prin una din cele 4
camere din colţurile depozitului care comunică cu exteriorul.
A studiat planul depozitului şi a împărţit camerele în patru zone:
1
, conţine toate camerele de coordonate (I,J)
cu 1 ≤ I ≤ X
şi 1 ≤ J ≤ Y
, cu ieşirea prin camera de coordonate (1,1)
2
, conţine toate camerele de coordonate (I,J)
cu 1 ≤ I ≤ X
şi Y ≤ J ≤ M
, cu ieşirea prin camera de coordonate (1,M)
3
, conţine toate camerele de coordonate (I,J)
cu X ≤ I ≤ N
şi 1 ≤ J ≤ Y
, cu ieşirea prin camera de coordonate (N,1)
4
, conţine toate camerele de coordonate (I,J)
cu X ≤ I ≤ N
şi Y ≤ J ≤ M
, cu ieşirea prin camera de coordonate (N,M)
Cri va intra doar într-una din cele patru zone şi va fura grăunţele doar din camerele conţinute de zona aleasă. Pentru a nu declanşa alarma furnicuţei, el va trebui să treacă cel mult o dată prin fiecare cameră din zonă, să fure întreaga cantitate de grăunţe din aceasta şi să iasă din depozit prin camera ce comunică cu exteriorul, corespunzătoare zonei alese.
Cri va trebui să aleagă zona în care va intra astfel încât cantitatea totală T
de grăunţe furate să fie maximă, iar numărul K
de camere prin care va trece să fie minim.
Scrieţi un program care să determine numerele naturale Z
, T
şi K
, unde Z
reprezintă numărul zonei pe care va trebui s-o aleagă Cri astfel încât cantitatea totală T
de grăunţe furate să fie maximă, iar numărul K
de camere prin va trece să fie minim.
OJI 2011, Clasa a IX-a
Problema | Cri | Operații I/O |
cri.in /cri.out
|
---|---|---|---|
Limita timp | 0.7 secunde | Limita memorie |
Total: 2 MB
/
Stivă 2 MB
|
Id soluție | #32088835 | Utilizator | |
Fișier | cri.cpp | Dimensiune | 1.68 KB |
Data încărcării | 05 Noiembrie 2021, 10:15 | Scor / rezultat | 100 puncte |
cri.cpp: In function 'int main()': cri.cpp:31:44: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf( fin, "%d%d%d%d", &n, &m, &x, &y ); ^ cri.cpp:34:39: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf( fin, "%hd", &mat[i][j] ); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
2 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
3 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
4 | 0.004 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
5 | 0.008 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
6 | 0.02 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
7 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
8 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
9 | 0.024 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
10 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
11 | 0.024 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
12 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
13 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
14 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
15 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
16 | 0.008 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
17 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
18 | 0.004 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
19 | 0 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
20 | 0.024 secunde | Cerinta a - corect. Cerinta b - corect. Cerinta c - corect. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cri 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ă.