Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int a[101][101], nod, v[101], n, t[101], p, q,vt[101];
- int valori[101];
- ifstream f ("subarbori.in"); ofstream g ("subarbori.out");
- void dfs (int k)
- {
- v[k]=1;
- for (int i=1 ; i<=n; i++)
- if (t[i]==k)
- {
- dfs(i);
- }
- }
- void citire ()
- {
- int x;
- f>>n;
- for (int i=1; i<=n; i++)
- {
- f>>t[i];
- }
- }
- int nr;
- void afisare(int nod)
- {
- if (nod==0) return;
- afisare(t[nod]);
- nr++;
- }
- int main()
- {int i;
- citire();
- for (int k=1; k<=n; k++)
- {
- nr=0;
- for (i=1; i<=n; i++) v[i]=0;
- dfs(k);
- for (i=1; i<=n; i++)
- if (v[i]==1) nr++;
- valori[k]=nr;
- }
- nr=0;
- for (i=1; i<=n; i++)
- for (int j=i+1; j<=n;j++)
- if (i!=j)
- if (valori[i]==valori[j] && valori[i]!=1 && valori[j]!=1)nr++;
- g<<nr;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement