Mai intai trebuie sa te autentifici.
Diferente pentru problema/matrita intre reviziile #42 si #14
Diferente intre titluri:
Matrita
matrita
Diferente intre continut:
== include(page="template/taskheader" task_id="matrita") ==
Plictisit deînmulţirea polinoamelorîn timp liniar, de rezolvarea conjecturilor sau a altor banalităţi precum “Traveling salesman problem”,$Nry$s-a decis săporneascăîn căutarea secretului fericirii eterne. Privindînsaîn jurul său, a constatat cu stupoare căolimpicii recurg la tehnici necurateîn acest joc pentru satisfacţie, de la sustrasul subtil al surselor sau al ideilor de probleme, pânăla acte mult mai grave, precumînsuşirea locurilor la$IOI$sau a ediţiilor precedente de Junior Challenge. Dorindînsăsăfie original (şi săpăstrezeîn acelaşi timp noua tradiţie),$Nry$a ajuns la următoarea concluzie: trebuie săsubtilizeze Matriţa!
Plictisit de inmultirea polinoamelor in timp liniar, de rezolvarea conjecturilor sau a altor banalitati precum “Traveling salesman problem”, Nry s-a decis sa porneasca in cautarea secretului fericirii eterne. Privind insa in jurul sau, a constatat cu stupoare ca olimpicii recurg la tehnici necurate in acest joc pentru satisfactie, de la sustrasul subtil al surselor sau al ideilor de probleme, pana la acte mult mai grave, precum insusirea locurilor la IOI sau a editiilor precedente de Junior Challenge. Dorind insa sa fie original (si sa pastreze in acelasi timp noua traditie), Nry a ajuns la urmatoarea concluzie: trebuie sa subtilizeze Matrita!
Odatăajunsîn posesia elixirului magic, acesta l-a aşezatîntr-un colţal Beciului Olimpic (unul din cele mai sigure adăposturi,în care duşmanii pot pătrunde doar prin tavanul de sticlă).Însă, pentru a se asigura cănoua sa achiziţie nu va dispăreaîn mod neaşteptat, acesta a decis săformeze un sistem de apărareîn modul următor: el a privit Beciul ca o matrice pătratica de latură$N + 1$ (liniileşi coloanele sunt numerotate de la$0$la$N$), Matriţa aflându-seîn pătratul aflat pe linia$0$şi coloana$0$. El doreşte săplaseze mai multe capcaneîn pătrate cu indicii liniilorşi alcoloanelor cuprinşi intre $1$şi $N$, astfelîncât fiecare capcanăsăfie vizibilădin punctulîn care se aflăMatriţa (cu alte cuvinte, sănu existe douăcapcane situateîn $(l1, c1)$, respectiv $(l2, c2)$şi un număr real $k$ cu proprietatea că$x1 = x2 * k$ si $y1 = y2 * k$).
Odata ajuns in posesia elixirului magic, acesta l-a asezat intr-un colt al Beciului Olimpic (unul din cele mai sigure adaposturi, in care dusmanii pot patrunde doar prin tavanul de sticla). Insa, pentru a se asigura ca noua sa achizitie nu va disparea in mod neasteptat, acesta a decis sa formeze un sistem de aparare in modul urmator: el a privit Beciul ca o matrice patratica de latura $N + 1$ (liniile si coloanele sunt numerotate de la 0 la N), Matrita aflandu-se in patratul aflat pe linia 0 si coloana 0. El doreste sa plaseze mai multe capcane in patrate cu indicii liniilor si ai coloanelor cuprinsi intre $1$ si $N$, astfel incat fiecare capcana sa fie vizibila din punctul in care se afla Matrita (cu alte cuvinte, sa nu existe doua capcane situate in $(l1, c1)$, respectiv $(l2, c2)$ si un numar natural $k$ cu proprietatea ca $x1 = x2 * k$ si $y1 = y2 * k$).
$Nry$văroagăsărăspundeţi la următoareaîntrebare:ştiind numărul $N$,în câte moduriîşi poate construi el sistemul de apărare al Matriţei? Răspunsultrebuie afişat **modulo $MOD$**.
Nry va roaga sa raspundeti la urmatoarea intrebare: stiind numarul $N$, in cate moduri isi poate construi el sistemul de aparare al Matritei?
h2. Date de intrare
Fişierul de intrare $matrita.in$conţine o singura linie pe care sunt scrise doua numere, $N$ şi $MOD$, cu semnificaţia din enunţ.
Fişierul de intrare $matrita.in$ ...
h2. Date de ieşire
În fişierul de ieşire $matrita.out$veţi afişa un singur număr natural, şi anume răspunsul cerinţei **modulo $MOD$**.
În fişierul de ieşire $matrita.out$ ...
h2. Restricţii
*$Nry$dispune de un număr nelimitat de capcane * Fiind foarte paranoic, acesta va plasaîntotdeauna cel putin o capcana
* Nry dispune de un numar nelimitat de capcane * Fiind foarte paranoic, acesta va plasa intotdeauna cel putin o capcana
* $1 ≤ N ≤ 12.000.000$
* $100.000.000 ≤ MOD ≤ 1.000.001.000$ * $Subtask 1 (testele 1 - 2) - 10 puncte: N ≤ 1.800$ * $Subtask 2 (testele 3 - 4)- 5 puncte: N ≤ 3.000$ * $Subtask 3 (testele 5 - 7)- 5 de puncte: N ≤ 4.000$ * $Subtask 4 (testele 8 - 12)- 30 de puncte: N ≤ 300.000$ * $Subtask 5 (testele 13 - 17)- 10 de puncte: N ≤ 750.000$ * $Subtask 6 (testele 18 - 22)- 25 puncte: N ≤ 6.500.000$ * $Subtask 7 (testele 23 - 27)- 5 puncte: N ≤ 10.000.000$ * $Subtask 8 (testele 28 - 30)- 10 puncte: N ≤ 12.000.000$ * Legenda spune ca oricine gusta din Matriţă are un loc asigurat la $IOI 2020$
* Pentru teste in valoare 5 puncte $N ≤ 10$ * Pentru alte teste in valoare de 10 puncte $N ≤$ (N^2logN) * Pentru alte teste in valoare de 15 de puncte $N ≤$ (N^2) * Pentru alte teste in valoare de 30 de puncte $N ≤ 750.000$ * Pentru alte teste in valoare de 30 de puncte $N ≤ 5.000.000$ * Pentru alte teste in valoare de 10 puncte $N ≤ 12.000.000$ * Legenda spune ca oricine gusta din Matrita are un loc asigurat la IOI 2020
h2. Exemplu table(example). |_. matrita.in |_. matrita.out |
| 11000000007
| 1
| 1 |
| 21000000007
| 2
| 11 |
| 51000000007
| 5
| 3538943 |
| 7683251000000007
| 768325
| 667479250 | h3. Explicaţie Pentru primul exemplu, el poate doar sa amplaseze o capcana in patratul (1, 1).
Pentru cel de-al doilea exemplu, sunt valide urmatoarele configuratii:
{(1, 1)}, {(1, 1), (1, 2)}, {(1, 1), (2, 1)}, {(1, 1), (1, 2), (2, 1)},
{(2, 2)}, {(2, 2), (1, 2)}, {(2, 2), (2, 1)}, {(2, 2), (1, 2), (2, 1)},
{(1, 2)}, {(2, 1)}, {(1, 2), (2, 1)}.
Configuratia {(1, 1), (2, 2)} nu poate fi aleasa deoarece capcana (2, 2) nu este vizibila.
Nry considera că o explicaţie a ultimelor două exemple ar fi inadecvat de lunga.
Nry considera ca o explicatie a ultimelor doua exemple ar fi inadecvat de lunga.
== include(page="template/taskfooter" task_id="matrita") ==
