.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » arbnr

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
arbnr


Timp maxim de execuţie / test:
2s
Memorie totala disponibilă / stivă:
128MB / 64MB

Un arbore cu rădăcină este format dintr-o mulţime de noduri, dintre care un nod special denumit rădăcină. Fiecare nod are precizată o listă ordonată de noduri fiu, iar fiecare nod diferit de rădăcină este fiul al exact unui alt nod denumit părinte. Rădăcina nu are părinte.
Subarborele unui nod X este un arbore cu rădăcină obţinut eliminând orice nod care nu este fiu direct sau indirect al nodului X şi considerând nodul X rădăcină.
Fie doi arbori cu rădăcină A, B cu rădăcinile rA şi respectiv rB. Fie a1a2a3...ak lista ordonată a fiilor lui rA, b1b2b3...bp lista ordonată a fiilor lui rB. Spunem că arborii A, B sunt egali dacă p=k şi pentru orice 1<=i<=k subarborii cu rădăcinile ai şi bi sunt egali.
Spunem că arborele A apare în arborele B dacă există un nod nB din B astfel încât subarborele cu rădăcina nB este egal cu arborele A.
Gigel are o afacere cu o mulţime de T arbori cu rădăcină (denumiţi model) A1, A2, ..., AT. Gigel vinde numai arbori cu rădăcină având N noduri în care nu apar nici unul dintre arborii model.

Cerinţă

Scrieţi un program care să calculeze câţi arbori cu rădăcină cu N noduri distincţi poate vinde Gigel.

Date de intrare

Fişierul de intrare arbnr.in conţine pe prima linie numerele naturale N şi T reprezentând numărul de noduri din arborii vânduţi de Gigel şi respectiv numărul de arbori model. În continuare urmează T blocuri de date, fiecare bloc reprezentând descrierea unui arbore model. Blocul care descrie un arbore model conţine pe prima linie un număr natural M reprezentând numărul de noduri din arbore. Pe cea de a doua linie sunt scrise M-1 numere naturale separate prin spaţiu. Al i-lea număr de pe linie este nodul părinte al nodului i+1 (1<=i<=M-1). Rădăcina este nodul cu numărul 1. Ordinea fiilor este considerată ordinea crescătoare a numerelor lor de ordine.

Date de ieşire

Fişierul arbnr.out va conţine o singură linie pe care va fi scris un număr natural reprezentând numărul de arbori cu rădăcină distincţi cu N noduri în care nu apare nici unul dintre arborii model modulo 9907.

Restricţii

1 ≤ N ≤ 10 000
0 ≤ T ≤ 40
2 ≤ M ≤ 10000

30% din punctaj se acordă pentru N,M≤100 şi T≤10
65% din punctaj se acordă pentru M≤500

Exemple

arbnr.inarbnr.out
4 2 3 1 2 3 1 1 3

autor: Emilian Miron
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la Lot IS 2008: center, pitici, sirag1, cod1, tabara, desen1, munte, pipe, euclid, sport, stive, bombe, shgraf, paintball, arb, pav
De acelaşi autor: trains, pstring, joc4, omizi, avere, acolor, bcolor, arbfind, albinuta1, drumuri
Despre arbori: bonuri, tgv, barfa, votare, arce, balaur, trains, bile2, vmem, plopi, caravane, mese, strict, tree, sub, kinder, firma1, albinuta, rlcs, masina, omizi, concurs1, latime, piloti, barca1, sirag1, pikachu, arb, logn, maxq, arbore, bcast, mesaj1, traseu, asmax, salvare, tramvai1, omida, sediu, string, tv, izo, zoo, ratina, vitale, camion1, arbfind, cezar1, tcast, dep, curent, spp, frunze, sea2, culori, color, urgenta, nori, treegame, antipatie, scanduri, minuni, arb1, activ, regat, kdtree, autostrazi, carray, trenuri1, arbgraf, war, mess, secvnumber, subs, posta, radare, arbore1, hacker, lista, codarb, subsecvente, confuzie, transform, arbsum, copaci3, arbvalmax
Despre combinatorică: manevre, carti, bonuri, test, cub, nspecial, circuit, 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, 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
Despre KMP: sablon, pstring, tetris2, circular, cifru1, seti
surse trimise | ajutor