Pagini recente » Cod sursa (job #2759380) | Cod sursa (job #1466738)
#include <iostream>
#include <fstream>
#include <sstream>
#include <stdlib.h>
#include <queue>
using namespace std;
/*int stramosi(int * stramos, int p, int q){
int contor = 0;
int a;
queue<int> coada;
coada.push(stramos[q-1]);
while (contor < p-1){
a = coada.front()-1;
coada.pop();
if (stramos[a] == 0){
return 0;
}
else{
coada.push(stramos[a]);
}
contor++;
}
a = coada.front();
coada.pop();
return a;
}
*/
int stramosi(int * stramos, int p, int q){
if (p == 1){
return stramos[q-1];
}
if (stramos[q-1] == 0){
return 0;
}
return stramosi(stramos, p-1, stramos[q-1]);
}
int main(){
int i;
int n,m;
int p,q;
int * membru;
string line;
ifstream inputfile;
ofstream outputfile;
inputfile.open("stramosi.in");
outputfile.open("stramosi.out");
if (inputfile.is_open()){
inputfile >> n >> m;
membru = (int*)calloc(n, sizeof(int));
i = 0;
while (i < n){
inputfile >> membru[i];
i++;
}
i = 0;
while (i < m){
inputfile >> q;
inputfile >> p;
outputfile << stramosi(membru,p,q) << "\n";
i++;
}
free(membru);
inputfile.close();
outputfile.close();
}
return 0;
}