Submission #332430

#TimeUsernameProblemLanguageResultExecution timeMemory
332430pggpWerewolf (IOI18_werewolf)C++14
15 / 100
4045 ms31852 KiB
#include <bits/stdc++.h>

using namespace std;

vector < bool > used_wer;
vector < bool > used_hum;
vector < vector < int > > Ed;

int cur_R, cur_L;

void wer_dfs(int vertex){
	used_wer[vertex] = true;
	for(int v : Ed[vertex]){
		if(!used_wer[v] and v <= cur_R){
			wer_dfs(v);
		}
	}
}

void hum_dfs(int vertex){
	used_hum[vertex] = true;
	for(int v : Ed[vertex]){
		if(!used_hum[v] and v >= cur_L){
			hum_dfs(v);
		}
	}

}

vector < int > check_validity(int N, vector < int > X, vector < int > Y, vector < int > S, vector < int > E, vector < int > L, vector < int > R){
	vector < int > ans;
	int Q = E.size();
	Ed.resize(N);
	used_wer.resize(N);
	used_hum.resize(N);
	for (int i = 0; i < X.size(); ++i)
	{
		Ed[X[i]].push_back(Y[i]);
		Ed[Y[i]].push_back(X[i]);
	}



	for(int q = 0; q < Q; q++){
		cur_R = R[q];
		cur_L = L[q];
		for (int i = 0; i < N; ++i)
		{
			used_hum[i] = false;
			used_wer[i] = false;
		}
		hum_dfs(S[q]);
		wer_dfs(E[q]);
		int to_return = 0;
		for (int i = 0; i < N; ++i)
		{
			if(used_hum[i] and used_wer[i]){
				to_return = 1;
			}
		}
		ans.push_back(to_return);
	}
	return ans;
}

Compilation message (stderr)

werewolf.cpp: In function 'std::vector<int> check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
werewolf.cpp:36:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |  for (int i = 0; i < X.size(); ++i)
      |                  ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...