Cod sursa(job #95626)

Utilizator MciprianMMciprianM MciprianM Data 29 octombrie 2007 18:29:26
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream>
using namespace std;
unsigned long int n;
unsigned long int a[250001];
unsigned long int b[250001];
int main(){
  
  unsigned long int m,i,p,q,s;
  ifstream f("stramosi.in");
  f>>n>>m;
  for(i=1;i<=n;i++)
    f>>a[i];
  for(i=1;i<=n;i++)
    b[i]=a[a[a[i]]];
  ofstream g("stramosi.out");
  for(i=1;i<=m;i++){
    f>>q>>p;
    s=a[q];p--;
    while(p>2){
    if(s<=n && s) s=b[s];
    else s=0 ;
    p=p-3;
}  
    if(p==2) s=a[a[s]];
    if(p==1) s=a[s];
    if(p==0)
    g<<s<<endl;
  }
  g<<endl;
  f.close();
  g.close();
  return 0;
}