Pagini recente » Cod sursa (job #1202583) | Monitorul de evaluare | Cod sursa (job #1264917) | Cod sursa (job #3318414) | Cod sursa (job #2246096)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int N,M;
int a[100][100],v[100],varf,x,y,u[100],k;
vector<int>la[100];
void p(int x)
{
for(int i=0;i<la[x].size();i++)
if(v[la[x][i]]==0)
{
v[la[x][i]]=1;
for(int j=1;(j<la[x][i])&&(a[x][j]!=0);j++)
a[la[x][i]][j+1]=a[x][j];
p(la[x][i]);
}
}
int main()
{ f>>N>>M;
for(int i=1;i<=N;i++)
{
f>>a[i][1];
if(a[i][1]!=0)
{
la[a[i][1]].push_back(i);
}
else
u[++k]=i;
}
for(int i=1;i<=k;i++)
p(u[i]);
for(int i=1;i<=M;i++)
{
f>>x>>y;
g<<a[x][y]<<"\n";
}
return 0;
}