#1714
Pandora
Anul 2154, undeva pe luxurianta planetă Pandora.
Aici coloniștii RDA (Resources Development Administration) doresc să-și stabilească o bază stelară pentru a exploata rezervele naturale de unobtainium, un minereu rar și prețios aflat din belșug pe munții plutitori (Hallelujah Mountains), munți ce plutesc lent purtați de curenții magnetici asemănător aisbergurilor în mare, pe suprafața planetei formată din gaz lichid.
Pentru prospectarea și exploatarea zăcămintelor de minereu este necesară cartografierea suprafeței planetei și întocmirea unei hărți digitizate reprezentate sub forma unui tablou bidimensional. Astfel, regiunea de interes geologic este împărţită în N×N
pătrate teritoriale identice (zone), fiecare zonă fiind identificată prin tripletul (x,y,c)
, unde (x,y)
reprezintă coordonatele zonei teritoriale (x
– linia, y
– coloana), iar c
cota (înălțimea). Între zonele ocupate de munții există vaste zone de gaz lichid, zone care au cota 0
.
Pentru recoltarea și transportul unobtainiumului către baza stelară coloniștii RDA folosesc spice-harvesters, nave speciale cu aterizarea pe verticală.
Aterizarea pe munții plutitori reprezintă o adevărată provocare pentru piloții RDA. Pentru a putea ateriza, piloții trebuie să identifice un sector plat (platformă de aterizare), platformă care să respecte designul trenului de aterizare al navelor (vezi figura alăturată). Platforma are forma unui pătrat de latură k
ce este format din k*k
zone teritoriale, astfel (k*k)-4
zone au aceeași cotă, iar cele 4
colțuri ale pătratului au cota strict mai mică decât restul zonelor pătratului.
Cunoscând descrierea a M
zone teritoriale ce alcătuiesc munții plutitori să se determine coordonatele colțului stânga-sus al platformelor de aterizare pentru munții plutitori care permit aterizarea.
Problema | Pandora | Operații I/O |
pandora.in /pandora.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
Id soluție | #16735270 | Utilizator | |
Fișier | pandora.cpp | Dimensiune | 2.39 KB |
Data încărcării | 18 Septembrie 2019, 12:27 | Scor / rezultat | Eroare de compilare |
pandora.cpp:14:9: error: 'int j1' redeclared as different kind of symbol int i1, j1; ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/cstdio:41, from pandora.cpp:1: /usr/include/i386-linux-gnu/bits/mathcalls.h:238:1: error: previous declaration of 'double j1(double)' __MATHCALL (j1,, (_Mdouble_)); ^ pandora.cpp: In function 'void fill()': pandora.cpp:16:13: error: invalid types 'short int [1005][double(double)throw ()]' for array subscript aux[i1][j1] = 0; ^ pandora.cpp:17:15: error: invalid types 'int [1005][double(double)throw ()]' for array subscript munte[i1][j1] = val; ^ pandora.cpp:18:19: error: invalid conversion from 'double (*)(double)throw ()' to 'int' [-fpermissive] int i = i1, j = j1; ^ pandora.cpp:21:26: error: assignment of function 'double j1(double)' i1 = i + dx[k]; j1 = j + dy[k]; ^ pandora.cpp:21:26: error: cannot convert 'int' to 'double(double)throw ()' in assignment pandora.cpp: In function 'int main()': pandora.cpp:40:20: error: assignment of function 'double j1(double)' i1 = i; j1 = j; ^ pandora.cpp:40:20: error: cannot convert 'int' to 'double(double)throw ()' in assignment pandora.cpp:45:10: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] if (a[i][j] != 0) ^ pandora.cpp:26:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("pandora.in", "r", stdin); ^ pandora.cpp:27:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("pandora.out", "w", stdout); ^ pandora.cpp:29:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d", &n, &k, &m); ^ pandora.cpp:32:32: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d", &x, &y, &c); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Pandora 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ă.