#1197
Ne aflăm în secția de vopsitorie a uzinei Toyota Motor unde inginerii japonezi prezintă ultimul tip de robot industrial de vopsire. În dorința de a evidenția calitatea și viteza de execuție a roboților, inginerii folosesc pentru demonstrație o tablă de dimensiunea n×n, împărțită în pătrate cu latura egală cu 1, reprezentată sub forma unui tablou bidimensional cu n linii şi n coloane.
Un robot utilizat pentru vopsire are două brațe telescopice care se deplasează de-a lungul unei axe. Fiecare braț poate vopsi într-o unitate de timp un singur pătrat. La momentul de timp t=0 robotul primește comanda de a se poziționa într-un pătrat specificat prin coordonatele (x,y).
În funcție de traiectoria de deplasare roboții folosiți sunt de două tipuri. La momentul de timp t robotul de tip 1 vopsește pătratele aflate la coordonatele: (x-t,y+t) și (x+t,y-t), iar robotul de tip 2 vopsește pătratele aflate la coordonatele: (x+t,y+t) și (x-t,y-t). Pentru vopsirea unui pătrat se consumă 1 litru de vopsea.
Pe tablă sunt așezați m roboți.
Cunoscând pentru cei m roboți coordonatele inițiale (x[i],y[i]), i=1,…,m, se cere să se determine:
a) Cantitatea totală de vopsea care a fost folosită de roboți după t unități de timp
b) Numărul minim de unități de timp necesare formării primului dreptunghi cu arie nenulă. Un dreptunghi corect format este rezultatul intersecției a două traiectorii paralele a doi roboți de tip 1 cu două traiectorii paralele a doi roboți de tip 2, iar colțurile dreptunghiului sunt 4 pătrate care au fost vopsite de doi roboți de tipuri diferite.
| Problema | Robotics | Operații I/O |
robotics.in/robotics.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 4 MB
/
Stivă 2 MB
|
| Id soluție | #58774517 | Utilizator | |
| Fișier | robotics.cpp | Dimensiune | 4.77 KB |
| Data încărcării | 05 August 2025, 22:39 | Scor/rezultat | Eroare de compilare |
robotics.cpp: In function 'bool check(int, int)': robotics.cpp:71:22: error: expected unqualified-id before '[' token for (auto const& [s_val, d_list] : points_by_S) { ^ robotics.cpp:71:22: error: expected ';' before '[' token robotics.cpp:71:23: error: 's_val' was not declared in this scope for (auto const& [s_val, d_list] : points_by_S) { ^ robotics.cpp:71:30: error: 'd_list' was not declared in this scope for (auto const& [s_val, d_list] : points_by_S) { ^ robotics.cpp: In lambda function: robotics.cpp:71:38: error: expected '{' before ':' token for (auto const& [s_val, d_list] : points_by_S) { ^ robotics.cpp: In function 'bool check(int, int)': robotics.cpp:71:38: error: expected ';' before ':' token robotics.cpp:71:38: error: expected primary-expression before ':' token robotics.cpp:71:38: error: expected ')' before ':' token robotics.cpp:71:38: error: expected primary-expression before ':' token robotics.cpp:71:38: error: expected ';' before ':' token robotics.cpp:167:1: error: expected '}' at end of input } ^ robotics.cpp:167:1: warning: no return statement in function returning non-void [-Wreturn-type]
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Robotics 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ă.