#2961
deminare
Pe un teren de formă dreptunghiulară format din L
linii și C
coloane sunt plantate M
mine. Liniile sunt numerotate de sus în jos cu valori de la 1
la L
iar coloanele sunt numerotate de la stânga la dreapta cu valori de la 1
la C
. Deoarece războiul s-a terminat, specialiștii vor să demineze terenul și să-l redea utilizării publice. Mutarea unei mine reprezintă operația de transfer a unei mine de la linia x1
și coloana y1
la o poziție liberă, dată de linia x2
și coloana y2
, unde 1 ≤ x1, x2 ≤ L
și 1 ≤ y1, y2 ≤ C
. Deoarece mutarea unei mine este periculoasă, trebuie determinat numărul minim de mine care trebuie mutate din poziția inițială astfel încât toate minele de pe teren să fie așezate unele lângă altele într-o zonă compactă dreptunghiulară, oriunde în cadrul terenului dat, pentru ca apoi să fie detonate împreună.
Cunoscând numărul de linii L
și de coloane C
ale terenului minat, numărul de mine M
, precum și poziția fiecărei mine, să se scrie un program care determină:
1. linia sau liniile pe care se găsesc cele mai multe mine;
2. numărul minim de mine mutate, pentru ca toate minele de pe teren să fie așezate într-o zonă compactă cu formă dreptunghiulară.
OJI 2019
Problema | deminare | Operații I/O |
deminare.in /deminare.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
Id soluție | #15010111 | Utilizator | |
Fișier | deminare.cpp | Dimensiune | 1.89 KB |
Data încărcării | 28 Martie 2019, 08:43 | Scor / rezultat | Eroare de compilare |
deminare.cpp:5:38: error: 'elem div [301]' redeclared as different kind of symbol struct elem{int d1,d2;}; elem div[301]; ^ In file included from /usr/include/c++/4.8/cstdlib:72:0, from /usr/include/c++/4.8/ext/string_conversions.h:41, from /usr/include/c++/4.8/bits/basic_string.h:2815, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from deminare.cpp:1: /usr/include/stdlib.h:789:14: error: previous declaration of 'div_t div(int, int)' extern div_t div (int __numer, int __denom) ^ deminare.cpp: In function 'int main()': deminare.cpp:25:32: error: invalid types '<unresolved overloaded function type>[int]' for array subscript if(nr%d==0){div[++y].d1=d; div[y].d2=nr/d;} ^ deminare.cpp:25:45: error: invalid types '<unresolved overloaded function type>[int]' for array subscript if(nr%d==0){div[++y].d1=d; div[y].d2=nr/d;} ^ deminare.cpp:44:31: error: invalid types '<unresolved overloaded function type>[int]' for array subscript for(i=1;i+div[auxy].d1-1<=N;i++) ^ deminare.cpp:45:33: error: invalid types '<unresolved overloaded function type>[int]' for array subscript for(j=1;j+div[auxy].d2-1<=M;j++){ ^ deminare.cpp:46:32: error: invalid types '<unresolved overloaded function type>[int]' for array subscript arie=a[i+div[auxy].d1-1][j+div[auxy].d2-1]-a[i+div[auxy].d1-1][j-1]-a[i-1][j+div[auxy].d2-1]+a[i-1][j-1]; ^ deminare.cpp:46:50: error: invalid types '<unresolved overloaded function type>[int]' for array subscript arie=a[i+div[auxy].d1-1][j+div[auxy].d2-1]-a[i+div[auxy].d1-1][j-1]-a[i-1][j+div[auxy].d2-1]+a[i-1][j-1]; ^ deminare.cpp:46:70: error: invalid types '<unresolved overloaded function type>[int]' for array subscript arie=a[i+div[auxy].d1-1][j+div[auxy].d2-1]-a[i+div[auxy].d1-1][j-1]-a[i-1][j+div[auxy].d2-1]+a[i-1][j-1]; ^ deminare.cpp:46:100: error: invalid types '<unresolved overloaded function type>[int]' for array subscript arie=a[i+div[auxy].d1-1][j+div[auxy].d2-1]-a[i+div[auxy].d1-1][j-1]-a[i-1][j+div[auxy].d2-1]+a[i-1][j-1]; ^ deminare.cpp:50:32: error: invalid types '<unresolved overloaded function type>[int]' for array subscript for(i=1;i+div[auxy].d2-1<=N;i++) ^ deminare.cpp:51:33: error: invalid types '<unresolved overloaded function type>[int]' for array subscript for(j=1;j+div[auxy].d1-1<=M;j++){ ^ deminare.cpp:52:32: error: invalid types '<unresolved overloaded function type>[int]' for array subscript arie=a[i+div[auxy].d2-1][j+div[auxy].d1-1]-a[i+div[auxy].d2-1][j-1]-a[i-1][j+div[auxy].d1-1]+a[i-1][j-1]; ^ deminare.cpp:52:50: error: invalid types '<unresolved overloaded function type>[int]' for array subscript arie=a[i+div[auxy].d2-1][j+div[auxy].d1-1]-a[i+div[auxy].d2-1][j-1]-a[i-1][j+div[auxy].d1-1]+a[i-1][j-1]; ^ deminare.cpp:52:70: error: invalid types '<unresolved overloaded function type>[int]' for array subscript arie=a[i+div[auxy].d2-1][j+div[auxy].d1-1]-a[i+div[auxy].d2-1][j-1]-a[i-1][j+div[auxy].d1-1]+a[i-1][j-1]; ^ deminare.cpp:52:100: error: invalid types '<unresolved overloaded function type>[int]' for array subscript arie=a[i+div[auxy].d2-1][j+div[auxy].d1-1]-a[i+div[auxy].d2-1][j-1]-a[i-1][j+div[auxy].d1-1]+a[i-1][j-1]; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema deminare 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ă.