Cod sursa(job #893356)

Utilizator fulgerulnegruFMI Ekart Dragos-Ioan fulgerulnegru Data 26 februarie 2013 15:15:48
Problema Cerere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<iostream>
#include<vector>
#include<fstream>
using namespace std;
ifstream in ("cerere.in");
ofstream out ("cerere.out");
vector<vector<int> > *a;

int stramos(int l,int k){
  if(k == 0)
    return l ;
  (*a)[2][l] = stramos((*a)[1][l],k-1);
}

int main (){
  int n,i,j,t;
  in>>n;
  vector<vector<int> > v(4,vector<int>(n+1));
  a = &v;
  for(i=1;i<=n;i++)
  {
    in>>v[0][i];
  }
  for(i=0;i<n;i++)
  {
    in>>j>>t;
    v[1][t] = j;
  }

  for(i=1;i<=n ;i++)
  {
    if(v[0][i] == 0){
      v[2][i] = -1;
    }
    else
      if(v[3][i] == 0)
        v[2][i] = stramos(i,v[0][i]);
  }

  for(i=1;i<=n;i++)
    cout<<v[2][i]<<" ";
  cout<<"\n";

  //for(i=0;i<=n;i++)
    //cout<<v[1][i]<<" ";
}