Cod sursa(job #806313)
Utilizator | Data | 2 noiembrie 2012 16:19:32 | |
---|---|---|---|
Problema | Stramosi | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <fstream>
using namespace std;
int a[30][2500001],n,k;
void constructie (void)
{
int G=1,i; k=2;
while(G)
{
G=0;
for(i=1;i<=n;++i)
{
if(a[k-1][i])
{
a[k][i]=a[1][ a[k-1][i] ];
G=1;
}
}
k++;
}
}
int main ()
{
int m,q,p,i;
ifstream f("stramosi.in");
f>>n>>m;
for(i=1;i<=n;++i)
f>>a[1][i];
constructie();
ofstream g("stramosi.out");
for(i=1;i<=m;++i)
{
f>>q>>p;
g<<a[p][q]<<"\n";
}
f.close();
g.close();
return 0;
}