#612
Birocratie
În premieră în acest an, pentru a putea ridica marele trofeu “Urmașul lui Moisil” vor fi necesare o serie de ștampile ce se obțin de la Primărie.
La Primăria din Iași sunt N
camere numerotate de la 1
la N
. În fiecare cameră există câte o ștampilă pe care apare o literă mică a alfabetului englez a-z
. Pot exista camere cu același caracter pe ștampilă.
În instituţie sunt două categorii de camere, în funcţie de modul în care acordă ștampilele:
i
aplică ştampila pe cerere apoi solicită obţinerea în ordine a ştampilelor camerelor c[i1], c[i2] ... c[iLg]
, toate aceste camere având numere mai mari strict decât i
. După fiecare ștampilă obținută în camerele specificate, aplică și el, încă o dată, ştampila camerei sale. Spunem că această cameră complicată este dependentă de fiecare dintre camerele din lista asociată, care pot fi la rândul lor simple sau complicate.Pentru ca festivitatea de premiere să nu înceapă prea târziu , câștigătorul trofeului trebuie să raspundă repede la M
întrebări de tipul (q,k)
: care este litera de pe poziția k
a șirului de ștampile obținut de la camera q
?
Urmasii lui Moisil, 2014, Clasa a X-a
Problema | Birocratie | Operații I/O |
birocratie.in /birocratie.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 25 MB
/
Stivă 1 MB
|
Id soluție | #50151633 | Utilizator | |
Fișier | birocratie.cpp | Dimensiune | 1.03 KB |
Data încărcării | 28 Martie 2024, 19:22 | Scor / rezultat | 100 puncte |
birocratie.cpp: In function 'char getCharRecursive(int, int)': birocratie.cpp:31:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ birocratie.cpp: In function 'int main()': birocratie.cpp:34:39: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("birocratie.in", "rt", stdin); ^ birocratie.cpp:35:41: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("birocratie.out", "wt", stdout); ^ birocratie.cpp:37:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d\n", &N, &M); ^ birocratie.cpp:40:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%c %d", &s[i], &L[i]); ^ birocratie.cpp:43:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &tmp); ^ birocratie.cpp:46:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("\n"); ^ birocratie.cpp:59:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d", &q, &k); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0 secunde | OK. | 5 | 5 | ||
9 | 0 secunde | OK. | 5 | 5 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | OK. | 5 | 5 | ||
12 | 0 secunde | OK. | 5 | 5 | ||
13 | 0 secunde | OK. | 5 | 5 | ||
14 | 0.004 secunde | OK. | 5 | 5 | ||
15 | 0.008 secunde | OK. | 5 | 5 | ||
16 | 0.008 secunde | OK. | 5 | 5 | ||
17 | 0.004 secunde | OK. | 5 | 5 | ||
18 | 0 secunde | OK. | 5 | 5 | ||
19 | 0.004 secunde | OK. | 5 | 5 | ||
20 | 0.004 secunde | OK. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Birocratie 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ă.