#3441
Cetate
Cetatea Vizima din regatul Temeria poate fi reprezentată printr-o matrice cu N
linii și M
coloane, numerotate începând cu 1
. Vizima este o cetate înfloritoare, fapt datorat numărului mare de negustori și meșteri prezenți. Din acest motiv, fiecărei celule din matrice îi este atribuit un profit corespunzător zonei respective. Regele Foltest dorește să reconstruiască zidurile cetății, dar cum războiul cu Imperiul Nilfgaard bate la ușă și resursele regatului sunt limitate, el trebuie să aleagă o porțiune pe care să o poată apăra, reprezentată ca o submatrice. O submatrice este identificată printr-o configurație de patru numere i1
, j1
, i2
, j2
(1≤i1≤i2≤N
, 1≤j1≤j2≤M
), în această ordine, și este formată din elementele situate pe liniile consecutive i1
, i1+1
, …, i2
și pe coloanele consecutive j1
, j1+1
, …, j2
ale matricei prin care este reprezentată cetatea. Laturile submatricei sunt egale cu numărul de linii, respectiv de coloane din care a preluat elemente, iar profitul submatricei este suma valorilor din celulele sale.
Scrieţi un program care, cunoscând matricea cetății și o valoare K
, determină:
K
, precum și configurația prin care se identifică ea;K
, precum și configurația prin care se identifică ea.OJI 2020, clasa a IX-a
Problema | Cetate | Operații I/O |
cetate.in /cetate.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #49756689 | Utilizator | |
Fișier | cetate.cpp | Dimensiune | 1.16 KB |
Data încărcării | 14 Martie 2024, 08:42 | Scor / rezultat | Eroare de compilare |
cetate.cpp:6:66: error: 'int y1' redeclared as different kind of symbol int cer,n,m,a[404][404],k,maxx1=-1000000000,maxx2=-1000000000,x1,y1,x2,y2,x3,y3,x4,y4; ^ In file included from /usr/include/features.h:374:0, from /usr/include/assert.h:35, from /usr/include/c++/4.8/cassert:43, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:33, from cetate.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:241:1: error: previous declaration of 'double y1(double)' __MATHCALL (y1,, (_Mdouble_)); ^ cetate.cpp: In function 'int main()': cetate.cpp:21:15: error: assignment of function 'double y1(double)' y1=j-k+1; ^ cetate.cpp:21:15: error: cannot convert 'int' to 'double(double)throw ()' in assignment cetate.cpp:42:34: warning: the address of 'double y1(double)' will always evaluate as 'true' [-Waddress] g<<maxx1<<'\n'<<x1<<' '<<y1<<' '<<x2<<' '<<y2; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cetate 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ă.