#1197
Robotics
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 | #57635530 | Utilizator | |
Fișier | robotics.cpp | Dimensiune | 3.22 KB |
Data încărcării | 08 Aprilie 2025, 14:51 | Scor / rezultat | 100 puncte |
robotics.cpp: In function 'bool verif(int)': robotics.cpp:56:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i<v1.size(); i++){ ///orizontal ^ robotics.cpp:66:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i<v2.size(); i++){ ///vertical ^ robotics.cpp:74:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i<a1.size(); i++){ ^ robotics.cpp:76:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int j=0; j<a2.size(); j++){ ^ robotics.cpp:85:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int k1=0; k1<intersect.size(); k1++){ ^ robotics.cpp:86:48: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int k2=k1+1; k2<intersect.size();k2++){ ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | Corect ! | 5 | 5 | ||
1 | 0 secunde | Corect ! | 5 | 5 | ||
2 | 0 secunde | Corect ! | 5 | 5 | ||
3 | 0 secunde | Corect ! | 5 | 5 | ||
4 | 0.004 secunde | Corect ! | 5 | 5 | ||
5 | 0.004 secunde | Corect ! | 5 | 5 | ||
6 | 0.004 secunde | Corect ! | 5 | 5 | ||
7 | 0.004 secunde | Corect ! | 5 | 5 | ||
8 | 0 secunde | Corect ! | 5 | 5 | ||
9 | 0.004 secunde | Corect ! | 5 | 5 | ||
10 | 0.008 secunde | Corect ! | 5 | 5 | ||
11 | 0.008 secunde | Corect ! | 5 | 5 | ||
12 | 0.008 secunde | Corect ! | 5 | 5 | ||
13 | 0.008 secunde | Corect ! | 5 | 5 | ||
14 | 0.028 secunde | Corect ! | 5 | 5 | ||
15 | 0.032 secunde | Corect ! | 5 | 5 | ||
16 | 0.028 secunde | Corect ! | 5 | 5 | ||
17 | 0.012 secunde | Corect ! | 5 | 5 | ||
18 | 0.016 secunde | Corect ! | 5 | 5 | ||
19 | 0.032 secunde | Corect ! | 5 | 5 | ||
Punctaj total | 100 |
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ă.