#2432
Cruce
Se consideră o matrice pătratică de dimensiune N
, conţinând numere naturale. Numim cruce de lăţime K
reuniunea mulțimii tuturor elementelor aflate pe K
linii consecutive ale matricei și a mulțimii tuturor elementelor aflate pe K
coloane consecutive ale matricei. Două elemente ale matricei se consideră distincte dacă sunt situate pe poziții distincte în matrice. Se acceptă şi forma degenerată a unei cruci, în formă de T
sau L
, când una dintre liniile sau coloanele care formează crucea sunt chiar la marginea matricei. Vom defini valoarea unei cruci ca fiind suma elementelor din care aceasta este formată.
Scrieți un program care, pentru o valoare K
dată, determină o cruce de lățime K
a cărei valoare este maximă și poziția ei în matrice. Această poziție va fi exprimată prin perechea de indici reprezentând prima linie din cele K
consecutive și prima coloană din cele K
consecutive din care este formată crucea.
OJI 2018
Problema | Cruce | Operații I/O |
cruce.in /cruce.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
Id soluție | #52346907 | Utilizator | |
Fișier | cruce.cpp | Dimensiune | 1.18 KB |
Data încărcării | 27 Septembrie 2024, 07:05 | Scor / rezultat | Eroare de compilare |
cruce.cpp:2:13: error: too many decimal points in number a,sum:array[0..500,0..500]of longint; lin,col:array[1..500] of longint; ^ cruce.cpp:2:20: error: too many decimal points in number a,sum:array[0..500,0..500]of longint; lin,col:array[1..500] of longint; ^ cruce.cpp:2:54: error: too many decimal points in number a,sum:array[0..500,0..500]of longint; lin,col:array[1..500] of longint; ^ cruce.cpp:6:13: warning: character constant too long for its type [enabled by default] assign(f,'cruce.in');reset(f); ^ cruce.cpp:44:10: warning: character constant too long for its type [enabled by default] assign(g,'cruce.out');rewrite(g); ^ cruce.cpp:1:1: error: 'var' does not name a type var n,k,i,j,sl,sc,l,c,s,smaxim:longint; ^ cruce.cpp:2:1: error: 'a' does not name a type a,sum:array[0..500,0..500]of longint; lin,col:array[1..500] of longint; ^ cruce.cpp:2:40: error: 'lin' does not name a type a,sum:array[0..500,0..500]of longint; lin,col:array[1..500] of longint; ^ cruce.cpp:3:1: error: 'f' does not name a type f,g:text; ^ cruce.cpp:5:1: error: 'begin' does not name a type begin ^ cruce.cpp:6:30: error: expected constructor, destructor, or type conversion before '(' token assign(f,'cruce.in');reset(f); ^ cruce.cpp:7:10: error: expected constructor, destructor, or type conversion before '(' token readln(f,n,k); ^ cruce.cpp:8:4: error: expected unqualified-id before 'for' for i:=1 to n do ^ cruce.cpp:12:10: error: 'a' does not name a type a[i,0]:=a[i,0]+a[i,j]; a[0,j]:=a[0,j]+a[i,j]; ^ cruce.cpp:12:33: error: 'a' does not name a type a[i,0]:=a[i,0]+a[i,j]; a[0,j]:=a[0,j]+a[i,j]; ^ cruce.cpp:13:10: error: 'sum' does not name a type sum[i,j]:= a[i,j] + sum[i,j-1] + sum[i-1,j] - sum[i-1,j-1]; ^ cruce.cpp:14:10: error: expected unqualified-id before 'if' if j=n then ^ cruce.cpp:17:13: error: expected unqualified-id before 'if' if i=k then lin[1]:=sl; ^ cruce.cpp:18:13: error: expected unqualified-id before 'if' if i>k then ^ cruce.cpp:21:19: error: 'lin' does not name a type lin[i-k+1]:=sl; ^ cruce.cpp:22:16: error: 'end' does not name a type end; ^ cruce.cpp:23:13: error: 'end' does not name a type end; ^ cruce.cpp:24:10: error: 'end' does not name a type end; ^ cruce.cpp:25:9: error: expected constructor, destructor, or type conversion before '(' token close(f); ^ cruce.cpp:26:4: error: expected unqualified-id before 'for' for j:=1 to k do sc:=sc+a[0,j]; ^ cruce.cpp:27:4: error: 'col' does not name a type col[1]:=sc; ^ cruce.cpp:28:4: error: expected unqualified-id before 'for' for j:=k+1 to n do ^ cruce.cpp:31:10: error: 'col' does not name a type col[j-k+1]:=sc; ^ cruce.cpp:32:7: error: 'end' does not name a type end; ^ cruce.cpp:33:4: error: 'smaxim' does not name a type smaxim:=-maxlongint; ^ cruce.cpp:34:4: error: expected unqualified-id before 'for' for i:=1 to n-k+1 do ^ cruce.cpp:38:13: error: expected unqualified-id before 'if' if s>smaxim then ^ cruce.cpp:40:29: error: 'l' does not name a type smaxim:=s;l:=i;c:=j; ^ cruce.cpp:40:34: error: 'c' does not name a type smaxim:=s;l:=i;c:=j; ^ cruce.cpp:41:16: error: 'end' does not name a type end; ^ cruce.cpp:43:10: error: 'end' does not name a type end; ^ cruce.cpp:44:7: error: expected constructor, destructor, or type conversion before '(' token assign(g,'cruce.out');rewrite(g); ^ cruce.cpp:44:30: error: expected constructor, destructor, or type conversion before '(' token assign(g,'cruce.out');rewrite(g); ^ cruce.cpp:45:8: error: expected constructor, destructor, or type conversion before '(' token writeln(g,smaxim,' ',l,' ',c); ^ cruce.cpp:46:6: error: expected constructor, destructor, or type conversion before '(' token close(g); ^ cruce.cpp:48:1: error: 'end' does not name a type end. ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cruce 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ă.