Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- #define MODULO 1000000007
- using namespace std;
- ifstream in("tairos.in");
- ofstream out("tairos.out");
- typedef struct
- {
- int nod1, nod2;
- } muchie;
- unsigned long nr_noduri, nivel;
- bool Graf[101][101];
- unsigned long NivelNod[101];
- unsigned long NrNoduriNivel_Initial[101]; /// Numarul de noduri pe fiecare nivel in graful dat
- unsigned long NrNoduriNivel_Infinit[10201]; /// Numarul de noduri pe fiecare nivel in graful infinit
- unsigned long NrNoduriFinaleNivel_Initial[10201]; /// Numarul de noduri finale pe fiecare nivel in grafului dat
- unsigned long NrNoduriFinaleNivel_Infinit[10201]; /// Numarul de noduri finale pe fiecare nivel in grafului dat
- void Citire()
- {
- cin >> nr_noduri >> nivel;
- int n1, n2;
- for( int i=1 ; i<=nr_noduri-1 ; i++ )
- {
- cin >> n1 >> n2;
- Graf[n1][n2] = Graf[n2][n1] = 1;
- }
- }
- void DFSGasireNivel(int nod_actual, int nivel_actual)
- {
- NivelNod[nod_actual] = nivel_actual;
- NrNoduriNivel_Initial[nivel_actual]++;
- NrNoduriNivel_Infinit[nivel_actual]++;
- bool este_nod_final = true;
- for( int i=2 ; i<=nr_noduri ; i++ )
- if( Graf[nod_actual][i] == 1 && NivelNod[i] == 0 )
- {
- este_nod_final = false;
- DFSGasireNivel(i,nivel_actual+1);
- }
- if( este_nod_final == true )
- {
- NrNoduriFinaleNivel_Initial[nivel_actual]++;
- NrNoduriFinaleNivel_Infinit[nivel_actual]++;
- }
- }
- int main()
- {
- Citire();
- DFSGasireNivel(1,0);
- for( int i=1 ; i<=nivel ; i++ )
- {
- for( int j=1 ; j<=nr_noduri ; j++ )
- {
- NrNoduriFinaleNivel_Infinit[i+j] = ( NrNoduriFinaleNivel_Infinit[i+j] + ( NrNoduriFinaleNivel_Initial[j]*NrNoduriFinaleNivel_Infinit[i] % MODULO ) ) % MODULO ;
- NrNoduriNivel_Infinit[i+j] = ( NrNoduriNivel_Infinit[i+j] + ( NrNoduriNivel_Initial[j]*NrNoduriFinaleNivel_Infinit[i] % MODULO ) ) % MODULO ;
- }
- NrNoduriFinaleNivel_Infinit[i] = 0;
- }
- cout << NrNoduriNivel_Infinit[nivel];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement