Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream f("knivel.in");
- ofstream g("knivel.out");
- int a[101][101],t[101],viz[101],poz,n,cont=1,k;
- void DFS(int start)
- {
- viz[start]=cont;
- for(int i=1;i<=n;i++)
- if(a[start][i] and viz[i]==0)
- {
- cont++;
- DFS(i);
- cont--;
- }
- }
- void citire()
- {
- int i;
- f>>n>>k;
- for(i=1;i<=n;i++)
- {
- f>>t[i];
- if(t[i]==0)
- poz=i;
- a[i][t[i]]=a[t[i]][i]=1;
- }
- }
- int main()
- {
- int i;
- citire();
- DFS(poz);
- for(i=1;i<=n;i++)
- if(viz[i]==k)
- g<<i<<" ";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement