Submission #1347527

#TimeUsernameProblemLanguageResultExecution timeMemory
1347527inesfiToy Train (IOI17_train)C++20
5 / 100
4 ms836 KiB
#include "train.h"
#include<bits/stdc++.h>
using namespace std;

const int TAILLEMAXI = 5002;
int boucle[TAILLEMAXI], avance[TAILLEMAXI];
int nbsommets, nbaretes;
vector<int> appartenance,recharge;

int dfs(int pos){
	if (boucle[pos]==0){
		return dfs(pos+1);
	}
	if (appartenance[pos]==1){
		if (recharge[pos]==1){
			return 1;
		}
		if (avance[pos]==0){
			return 0;
		}
		return dfs(pos+1);
	}
	if (recharge[pos]==0){
		return 0;
	}
	if (avance[pos]==0){
		return 1;
	}
	return dfs(pos+1);
}

vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) {
	appartenance = a;
	recharge = r;
	nbsommets = appartenance.size();
	nbaretes = u.size();
	for (int i=0;i<nbaretes;i++){
		if (u[i]==v[i]){
			boucle[u[i]]=1;
		}
		else {
			avance[u[i]]=1;
		}
	}
	vector<int> rep;
	for (int i=0;i<nbsommets;i++){
		rep.push_back(dfs(i));
	}
	return rep;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...