#2570
mostenire
Regele Rufus dorește să stabilească moștenitorul averii sale, adică să ofere parola de la seif celui mai deștept dintre fiii săi. Inițial, regele a avut parola X
formată din N
cifre nenule și un cod cheie Q
(număr natural cu exact nouă cifre, distincte, toate nenule). În fiecare an din cei K
ani de domnie, folosind codul cheie Q
, Rufus a modificat câte o secvență de cifre din parolă ajungând la parola finală P
.Pentru fiecare secvență se cunoaște poziția S
a primei cifre din secvență și poziția D
a ultimei cifre din secvență. Astfel, secvența este formată din cifrele situate pe pozițiile S
, S+1
, S+2
,…, D
în parola X
.
Modificarea unei secvențe din X
constă în înlocuirea fiecărei apariții a cifrei 1
cu prima cifră a lui Q
, apoi a fiecărei apariții a cifrei 2
cu a doua cifră a lui Q
,…, a fiecărei apariții a cifrei 9
cu ultima cifră a lui Q
.
Pentru a decide moștenitorul, regele le dă fiilor parola finală P
, codul cheie Q
, numărul K
de ani de domnie și cele K
secvențe de cifre care au fost modificate și le cere să găsească: parola inițială X
, poziția minimă Z
din parola X
care a apărut în cele mai multe secvențe dintre cele modificate de rege de-a lungul celor K
ani de domnie și cifrele distincte care au ocupat poziția Z
în cei K
ani.
Scrieți un program care citește numerele Q
, N
, K
, cele N
cifre ale parolei finale P
și cele K
perechi de poziții S
și D
, și care rezolvă următoarele două cerințe:
X
;Z
și cifrele distincte care au ocupat această poziție în cei K
ani de domnie.ONIG 2018
Problema | mostenire | Operații I/O |
mostenire.in /mostenire.out
|
---|---|---|---|
Limita timp | 0.3 secunde | Limita memorie |
Total: 8 MB
/
Stivă 8 MB
|
Id soluție | #50542228 | Utilizator | |
Fișier | mostenire.c | Dimensiune | 1.54 KB |
Data încărcării | 14 Aprilie 2024, 13:16 | Scor / rezultat | 100 puncte |
mostenire.c: In function 'main': mostenire.c:11:11: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin, "%d%d%d%d" ,&c,&q,&n,&k); ^ mostenire.c:17:19: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin, "%d" ,&x[i]); ^ mostenire.c:21:19: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin, "%d%d" ,&s[j],&d[j]); ^ mostenire.c:40:19: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin, "%d" ,&x[i]); ^ mostenire.c:51:19: warning: ignoring return value of 'fscanf', declared with attribute warn_unused_result [-Wunused-result] fscanf(fin, "%d%d" ,&t,&f); ^
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 secunde | OK. | 5 | 5 | ||
15 | 0 secunde | OK. | 5 | 5 | ||
16 | 0 secunde | OK. | 5 | 5 | ||
17 | 0 secunde | OK. | 5 | 5 | ||
18 | 0 secunde | OK. | 5 | 5 | ||
19 | 0 secunde | OK. | 5 | 5 | ||
20 | 0 secunde | OK. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema mostenire 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ă.