Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2018-06-06 15:12:30.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:matrita.in, matrita.outSursăJunior Challenge 2018
AutorAndrei ComanAdăugată deJuniorChallenge2018Junior Challenge JuniorChallenge2018
Timp execuţie pe test0.5 secLimită de memorie524288 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Matrita

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!

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 real k cu proprietatea ca x1 = x2 * k si y1 = y2 * k).

Nry va roaga sa raspundeti la urmatoarea intrebare: stiind numarul N, in cate moduri isi poate construi el sistemul de aparare al Matritei?

Date de intrare

Fişierul de intrare matrita.in contine o singura linie pe care este scris numarul N, cu semnificatia din enunt.

Date de ieşire

În fişierul de ieşire matrita.out veti afisa un singur numar natural, si anume raspunsul cerintei modulo 1000000007.

Restricţii

  • Nry dispune de un numar nelimitat de capcane
  • Fiind foarte paranoic, acesta va plasa intotdeauna cel putin o capcana
  • 1 ≤ N ≤ 12.000.000
  • 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

Exemplu

matrita.inmatrita.out
1 1000000007
1
2 1000000007
11
5 1000000007
3538943
768325 1000000007
667479250

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 ca o explicatie a ultimelor doua exemple ar fi inadecvat de lunga.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?