#2505
jocxzero
Pe o foaie dintr-un caiet de matematică de dimensiune N x M
(N
numărul de linii și M
numărul de coloane) sunt completate toate pătrățelele cu X
sau 0
. Pentru un număr natural K
dat, numim șir corect, o secvență de K
elemente consecutive pe linie, coloană sau diagonale care au aceeași valoare (X
sau 0
). Două pătrățele de pe foaie sunt vecine pe aceeași diagonală dacă au un singur colț comun.
Exemplu din figura alăturată, pentru care N=4
, M=5
, K=3
conține 6
șiruri corecte de X
și 5
șiruri corecte de 0
.
Cerințe:
N
, M
și K
și o foaie de matematică plină cu X
și 0
. Determinați câte șiruri corecte de X
și câte șiruri corecte de 0
se găsesc pe foaia dată.Q
întrebări de forma A B
, în care A
este caracterul X
sau 0
și B
este un număr natural. Determinați în câte moduri putem tăia foaia de matematica vertical pentru a obține în subtabloul din partea stângă exact B
șiruri corecte de A
. Foia se poate tăia în M -1
variante: după prima coloană, a doua coloană, după a treia coloană, ș.a.m.d, până după penultima coloană.ONIG 2018
Problema | jocxzero | Operații I/O |
jocxzero.in /jocxzero.out
|
---|---|---|---|
Limita timp | 0.7 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #11390303 | Utilizator | |
Fișier | jocxzero.cpp | Dimensiune | 3.80 KB |
Data încărcării | 27 Octombrie 2018, 11:48 | Scor / rezultat | 100 puncte |
jocxzero.cpp: In function 'int main()': jocxzero.cpp:55:13: warning: 'char* gets(char*)' is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations] gets(s+1); ^ jocxzero.cpp:55:21: warning: 'char* gets(char*)' is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations] gets(s+1); ^ jocxzero.cpp:49:39: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("jocxzero.in", "r", stdin); ^ jocxzero.cpp:50:41: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("jocxzero.out", "w", stdout); ^ jocxzero.cpp:51:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d\n",&P); ^ jocxzero.cpp:52:36: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d %d\n", &N, &M, &K); ^ jocxzero.cpp:55:22: warning: ignoring return value of 'char* gets(char*)', declared with attribute warn_unused_result [-Wunused-result] gets(s+1); ^ jocxzero.cpp:132:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d\n", &Q); ^ jocxzero.cpp:135:36: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%c %d\n",&c, &B); ^ /tmp/ccjzIn3c.o: In function \`main': jocxzero.cpp:(.text.startup+0xa8): warning: the \`gets' function is dangerous and should not be used.
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0.016 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0.036 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0.012 secunde | OK. | 5 | 5 | ||
8 | 0.052 secunde | OK. | 5 | 5 | ||
9 | 0.08 secunde | OK. | 5 | 5 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | OK. | 5 | 5 | ||
12 | 0 secunde | OK. | 5 | 5 | ||
13 | 0.004 secunde | OK. | 5 | 5 | ||
14 | 0.044 secunde | OK. | 5 | 5 | ||
15 | 0.064 secunde | OK. | 5 | 5 | ||
16 | 0.072 secunde | OK. | 5 | 5 | ||
17 | 0.064 secunde | OK. | 5 | 5 | ||
18 | 0.096 secunde | OK. | 5 | 5 | ||
19 | 0.108 secunde | OK. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema jocxzero 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ă.