Cod sursa(job #3249172)

Utilizator Flavius_BirisBiris Flavius Septimiu Flavius_Biris Data 15 octombrie 2024 10:10:41
Problema Stramosi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<iostream>
#include<fstream>
using namespace std;
int n, m;
int* stramosi;
int** intrebari;

int gasireStramos(int p, int stramosActual, int kStramos);

int main() {
	ifstream fin("stramosi.in");
	ofstream fout("stramosi.out");
	fin >> n >> m;
	stramosi = new int[n];
	intrebari = new int* [m];
	for (int i = 1; i <= m; i++) {
		intrebari[i] = new int[2];
	}
	for (int i = 1; i <= n; ++i) {
		fin >> stramosi[i];
	}
	for (int i = 1; i <= m; ++i) {
		fin >> intrebari[i][1] >> intrebari[i][2];
	}
	for (int i = 1; i <= m; i++) {
		fout << gasireStramos(intrebari[i][2], intrebari[i][1], 0) << endl;
	}
	fin.close();
	return 0;

}


int gasireStramos(int p, int stramosActual, int kStramos) {
	if (kStramos == p) {
		return stramosActual;
	}
	else if (stramosi[stramosActual] != 0) {
		gasireStramos(p, stramosi[stramosActual], ++kStramos);
	}
	else {
		return 0;
	}

}