#1107
Reflex
La un concurs de robotică, în timpul prezentării, un roboţel cu corp cilindric cu diametrul de o unitate scapă de sub control şi se deplasează într-un ring de formă dreptunghiulară. Ringul este împărţit în N x M
pătrate identice, cu latura de o unitate, aşezate pe N
linii şi M
coloane.
Robotul poate părăsi ringul numai pe la colţuri, acestea fiind numerotate de la 1
la 4
, colţul cu numărul 1
fiind cel din stânga jos apoi restul fiind numerotate în sens trigonometric. Suprafaţa ringului este delimitată de exterior prin intermediul a patru pereţi despărţitori: doi pereţi “verticali” (aşezaţi de la colţul 1
la colţul 4
, respectiv de la colţul 2
la colţul 3
) şi doi pereţi “orizontali” (aşezaţi de la colţul 1
la colţul 2
, respectiv de la colţul 3
la colţul 4
), fără a bloca ieşirile, ca în desenul alăturat.
1
sub un unghi de 45
grade şi cu o viteză de un pătrat/s. Ciocnirile cu pereţii sunt considerate perfect elastice (robotul nu-şi pierde din viteză) iar unghiul de incidenţă este egal cu cel de reflexie.
Se cere să se determine:
a) după câte secunde şi prin ce colţ al ringului va ieşi robotul;
b) de câte ori se ciocneşte robotul de pereţii orizontali şi verticali, rezultând o schimbare de direcţie, până la ieşirea din ring.
Problema | Reflex | Operații I/O |
reflex.in /reflex.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #33219851 | Utilizator | |
Fișier | reflex.cpp | Dimensiune | 524 B |
Data încărcării | 11 Decembrie 2021, 11:15 | Scor / rezultat | Eroare de compilare |
reflex.cpp: In function 'int main()': reflex.cpp:21:5: error: 'c' was not declared in this scope c = ; ^ reflex.cpp:21:9: error: expected primary-expression before ';' token c = ; ^ reflex.cpp:6:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("reflex.in", "r",stdin); ^ reflex.cpp:7:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("reflex.out", "w",stdout); ^ reflex.cpp:9:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld %lld",&a,&b); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Reflex 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ă.