Pagini recente » Cod sursa (job #2290192) | Cod sursa (job #1229265) | Istoria paginii runda/prega_oji2015_ix_3 | Istoria paginii runda/x-treme_april_challenge/clasament | Cod sursa (job #1139364)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("arbore.in");
ofstream g("arbore.out");
int n,t,x,viz[2001];
vector <int> L[2001];
void dfs(int p)
{ viz[p]=1;
vector <int> :: iterator it=L[p].begin(), sf=L[p].end();
for(; it != sf ; ++it)
if(!viz[*it]) dfs(*it);
}
int main()
{
f >> n >> t;
for(int i=1; i<=n; i++)
{
f >> x;
L[x].push_back(i);
}
for(int i=1; i<=n; i++)
if(!L[i].size()) g << i << " ";
g << '\n';
for(int i=1; i<=t; i++)
{
f >> x;
for(int j=1; j<=n; j++) viz[j] = 0;
dfs(x);
for(int j=1; j<=n; j++)
if(j != x && viz[j]) g << j << " ";
g << '\n';
}
g.close();
return 0;
}