#1686
Am un cablu cu N
leduri (numerotate de la 1
la N
) aşezate echidistant. Inițial, unele leduri sunt aprinse, iar altele sunt stinse. Ledurile sunt legate între ele astfel încât atingerea fiecărui led produce modificarea atât a stării lui, cât şi a ledurilor vecine lui. Deci, dacă se atinge ledul i
(2≤i≤N-1
) atunci se modifică stările ledurilor i-1
, i
și i+1
. Dacă se atinge ledul 1
, atunci se modifică stările ledurilor 1
și 2
, iar dacă se atinge ledul N
, atunci se modifică stările ledurilor N-1
și N
. Vreau să modific starea ledurilor astfel încât să semene cu cablul cu N
leduri pe care îl are Ionuț, prietenul meu (două cabluri seamănă dacă pentru orice i=1..N
stările ledurilor de pe poziția i
sunt identice).
Cunoscând cum arată cablul lui Ionuț, ajutați-mă să determin numărul minim de atingeri ale unor leduri astfel încât cablul meu să arate ca și cablul lui Ionuț.
Problema | Leduri | Operații I/O |
![]() leduri.in /leduri.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #2441630 | Utilizator | |
Fișier | leduri.cpp | Dimensiune | 3.82 KB |
Data încărcării | 10 Mai 2016, 20:54 | Scor / rezultat | 35 puncte |
leduri.cpp: In function 'bool compar(int*, int*, int)': leduri.cpp:13:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ leduri.cpp: In function 'int main()': leduri.cpp:17:35: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("leduri.in","r",stdin); ^ leduri.cpp:18:37: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("leduri.out","w",stdout); ^ leduri.cpp:19:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ leduri.cpp:23:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&a[i]); ^ leduri.cpp:27:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&b[i]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
1 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
5 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0.004 secunde | Raspuns gresit. | 5 | 0 | ||
9 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
10 | 0.02 secunde | OK. | 5 | 5 | ||
11 | 0.024 secunde | Raspuns gresit. | 5 | 0 | ||
12 | 0.02 secunde | Raspuns gresit. | 5 | 0 | ||
13 | 0.02 secunde | Raspuns gresit. | 5 | 0 | ||
14 | 0.02 secunde | Raspuns gresit. | 5 | 0 | ||
15 | 0.028 secunde | OK. | 5 | 5 | ||
16 | 0.02 secunde | Raspuns gresit. | 5 | 0 | ||
17 | 0.02 secunde | Raspuns gresit. | 5 | 0 | ||
18 | 0.02 secunde | OK. | 5 | 5 | ||
19 | 0.024 secunde | Raspuns gresit. | 5 | 0 | ||
Punctaj total | 35 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Leduri 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ă.