Fişierul intrare/ieşire: | permsplitcount.in, permsplitcount.out | Sursă | Algoritmiada 2015, Runda 3 |
Autor | Eugenie Daniel Posdarascu | Adăugată de | |
Timp execuţie pe test | 0.15 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Permsplitcount
În aşa fel este Comisia românească încât mai degrabă socoteşte a fi bună problema uşor de pregătit decât problema cu soluţie frumoasă. Astfel, în Comisia românească, înspre deosebire faţă de Comisia muscală sau Comisia polonă, vor sta mai cu seamă problemele care n-au nevoie de verif sau care pot avea generatorul random, decât, să ne fie cu iertare, o minunăţie de problemă cu treapuri fără de rotaţii.
Fragment din "Mărturie din Lucrările Comisiei" de Ion Luca Caragiale
Într-adevăr, Caragiale este veşnic de actualitate. Însă ce nu spune Caragiale aici este că nu e chiar uşor să evaluezi cât de bune sunt testele aleatoare. În acestă problemă vă vom ruga pe voi să decideţi dacă am fi putut genera liniştiţi teste aleatoare pentru problema Permsplit. Mai exact am dori să ştim pentru un anumit N câte permutări de lungime N au ca soluţie -1 în contextul problemei PermSplit.
Date de intrare
Fişierul de intrare permsplitcount.in va conţine pe singura sa linie două valori: N şi MOD.
Date de ieşire
În fişierul de ieşire permsplitcount.out se va afla o singură valoare, răspunsul problemei modulo MOD.
Restricţii
- 1 ≤ N ≤ 1.500
- 2 ≤ MOD ≤ 1.000.000.000
Exemplu
permsplitcount.in | permsplitcount.out |
---|---|
5 13 | 4 |
Explicaţie
Numărul de soluţii este 30 mod 13 = 4. Printre cele 30 de permutări numărate se află, spre exemplu, permutarea 5 2 4 1 3.