ultima problemă
grupă: micăsursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
.campion
circuit
Timp maxim de execuţie/test:
0.3
secunde
Memorie totală disponibilă/stivă:
16MB/1 MB
Într-o ţară există N oraşe numerotate de la 1 la N şi un număr oarecare de străzi unidirecţionale ce leagă perechi ordonate de oraşe distincte. Analizând sistemul stradal din ţara respectivă Vasile a observat că există cel puţin un şir de oraşe x1 , x2 , ... xk (k>=3 ) cu x1 =xk şi cu proprietatea că există o stradă de la xi la xi+1 pentru orice 1<=i<k . Curios din fire Vasile se întreabă acum câte sisteme stradale distincte cu această proprietate există. Două sisteme stradale sunt distincte dacă şi numai dacă există două oraşe x şi y astfel încât în unul dintre sisteme să existe o stradă de la x la y , iar în celălalt nu.
Cerinţă
Scrieţi un program care să îl ajute pe Vasile să determine numărul căutat modulo P.
Date de intrare
Fişierul de intrare circuit.in conţine pe prima linie numerele naturale N şi P separate printr-un spaţiu.
Date de ieşire
Fişierul de ieşire circuit.out va conţine o singură linie pe care va fi afişat numărul căutat modulo P .
Restricţii
1 ≤ N ≤ 1500
2 ≤ P ≤ 32000
Între două oraşe x şi y poate exista cel mult o stradă de la x la y .
Pentru un număr de teste în valoare de 50 de puncte 1 ≤ N ≤ 300 .
Exemple
circuit.in
circuit.out
Explicaţie
2 100
1
Singurul sistem stradal posibil este cel în care există o stradă de la oraşul 1 la oraşul 2 şi invers.
circuit.in
circuit.out
Explicaţie
4 9999
3553
Sunt prea multe sisteme stradale pentru a le enumera.
Vlad Tudose
Facultatea de Informatica Iaşi
Articole recomandate
Probleme recomandate
De la Finala .campion 2009 : autobuze , mere , cadou , kpal , sumdif , chimie , sarpe , ff De acelaşi autor : graphgame , sir9 , dag Despre programare dinamică : vedete , fbr , tgv , zeratul , rv , comun , retea , sumdif , copaci , drum , text , palind , joc , vikingi , rafturi , balaur , plimbare , party , pc , pioni , seif , iepuri , numere3 , perm , ture , bilete , prop , ro , reduceri , cuburi , invest , cutie2 , stalpi , nr2 , judete , strict , auto2 , tree , jobs , leaves , pstring , program , datorii , senzori , farfurii , joc1 , barbie , ambigram , rlcs , cub1 , bio , chimie1 , otilia , pasune , remi , sir23 , tren1 , joc5 , pachete , echipe , comb , agitatie , ivv , peste , pitici , pipe , shgraf , tabara1 , stop , randuri , zidar , log , sant , produs , subsir , cover , bcast , emax , dist , mesaj1 , imax , avere , asmax , raft , suma2 , joc12 , fni , nr4 , join , transport , masina3 , lsort , microvirus , fat , cafea , echipe1 , anticip , bsir , diamant , petrom , evantai , spion , acolor , evo , bombo , lacusta , lant , team , pitici1 , numere8 , dep , stiva , subgeom , pviz , tir1 , cabane , piramida1 , mosia , cuvinte1 , gaina , materom , sortari , turnuri , trans , politie , codul , dansatori , nkbiti , kperms , treegame , siruri2 , 123 , jucarii , bradut , joc15 , expozitie , text3 , ic , echilibru , distsir , kmax , stalpi1 , gaz , triunghi2 , v2d , cuiburi , mine , orientare , activ , secvbiti , kcons , pokemon , ubergraf , left , acerc , autostrazi , kdist , select , cazare , fluviu , telecomanda , parcela , pion , subs , suma4 , sirmax , bdotcom , viena , sablon2 , telecab , ikebana , radare , hacker , obstacole , robotel , centrala , verigi , cds , wg , minusk , radioactiv , enigma , jb , efect , maxviz , ripstick , progresii , maxtri , combcuv , blis , subsiruri , mijloc , probleme , unuzero , palindrom1 , minerale , speed , zmax , spider , cntgcd , interclasare , bus , pariuri , riglef , fractii2 , fall , arbsum , conuri , arbvalmax , procente , metrou Despre graf : gropi , tgv , matrice2 , miniasm , picnic , mere , soldati , arce , conflicte , desen , robot , furtuna , net , cuvinte , excursie , cadere , pioni , reinvent , kreg , flood , croco , johnie , matrice , arthur , kimberley , ro , sol , caravane , bete , honest , police , pcod , zmeu , auto2 , grazing , datorii , trafic , sponsori , monede1 , apm , bile1 , caini , masina1 , bomboane , turn1 , shgraf , paintball , program1 , tgraf , kgb , algola , felinar , joc6 , tric , homeless , promo , turism , casute , joc10 , prieteni1 , traseu , zapezi , litoral , lover , trip , garaj , ziduri , tv , pact , echipe1 , vitale , spion , trasee , bcolor , scara2 , lant , ab3 , soc , team , gard , rsp , graf , mexc , dep , albinuta1 , atac2 , cabane , drumuri , tj , grade , jungla , lanterna , magic5 , coment , urgenta , fazan , lanturi , cfr , site , traseu1 , trmv , graphgame , minuni , telefon , ubergraf , carray , pestera , chei , arbgraf , war , fluviu , drumuri1 , entries , ubuntzei , pack , fotbal1 , pamant , dag , razboi , benzina2 , wg , neconex , asfalt1 , kubus2 , module , progresii , dfs , prieteni3 , megascoala , grafxy , dineu , vot1 , biperm , drumuri2 , nrgraf , cristal , cartite , copaci3 , dragoni , nuclee Despre combinatorică : manevre , carti , bonuri , test , cub , nspecial , numere , cs , pluricex , parent , gray , siruri , anagrame , party , net , scaune , sir , monede , aztec , nrcuv2 , perm , race , hanoig , red , grup , hperm , depou , grazing , pm , reteta2 , playlist , young , pizza1 , albine , caramele , teatru1 , tub , robot1 , sir23 , soldati1 , concurs1 , comb , expresii , arbnr , cod1 , munte , shgraf , desc , lex , munte1 , maxperm , role , avere , vizibil , prime1 , hexa , patrat , carti2 , puncte2 , pact , aranjari , numere5 , borg , acolor , sg1 , perfect , cifru2 , bile4 , pviz , culmi1 , piramida1 , trapez , frunze , sir7 , logic , coduri , jetoane , kperms , tablite , secvpar , lego , permutari , binperm , multiplu1 , operatii , fotbal , kbiti , jucarii , bradut , expozitie , parbit , kmax , petrecere , tango , rege , cd1 , cifru3 , kcons , bubblesort , hawaii , randomizare , kdist , reuniune , echipa , ghinion , cavaleri , camera616 , covor , subm , grupuri , pavari , asfalt , adunscad , rotund , sport2 , arbore1 , lant1 , module , nrperm , oneton , nrpomi , cover1 , nrpal , probleme , optim , poly , vot1 , sudoku1 , flori2 , xnumere , showroom , cntgcd , subsets , nkd , nrgraf , spion1 , puteri , stiva1 , permtr , relatii , 2sah , matcnt , magic7 , nmult , roua