답안 #77625

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
77625 2018-09-29T06:30:01 Z Just_Solve_The_Problem 늑대인간 (IOI18_werewolf) C++11
15 / 100
341 ms 20516 KB
#include <bits/stdc++.h>
#include "werewolf.h"
// #include "grader.cpp"

#define pb push_back

using namespace std;

const int N = 6e3 + 7;

int was[N];
int used[N];
vector < int > gr[N];
int l, r;
int n;
       
void dfs1(int v, int pr) {
	was[v]++;
	used[v] = 1;
	for (int to : gr[v]) {
		if (!used[to] && to >= l) dfs1(to, v);
	}
}

void dfs2(int v, int pr) {
	was[v]++;
	used[v] = 1;
	for (int to : gr[v]) {
		if (!used[to] && to <= r) dfs2(to, 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) {
	n = N;
	for (int i = 0; i < (int)X.size(); i++) {
		gr[X[i]].pb(Y[i]);
		gr[Y[i]].pb(X[i]);
	}
	vector < int > ans;
	int q = S.size();
	for (int i = 0; i < q; i++) {
		l = L[i];
		r = R[i];
		memset(was, 0, sizeof was);
		dfs1(S[i], S[i]);
		memset(used, 0, sizeof used);
		dfs2(E[i], E[i]);
		memset(used, 0, sizeof used);
		int ok = 1;
		for (int j = l; j <= r; j++) {
			if (was[j] == 2) {
				ans.pb(1);
				ok = 0;
				break;
			}
		}
		if (ok) {
			ans.pb(0);
		}
	}
	return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 504 KB Output is correct
2 Correct 3 ms 628 KB Output is correct
3 Correct 3 ms 708 KB Output is correct
4 Correct 3 ms 812 KB Output is correct
5 Correct 3 ms 812 KB Output is correct
6 Correct 3 ms 840 KB Output is correct
7 Correct 3 ms 840 KB Output is correct
8 Correct 3 ms 840 KB Output is correct
9 Correct 3 ms 840 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 504 KB Output is correct
2 Correct 3 ms 628 KB Output is correct
3 Correct 3 ms 708 KB Output is correct
4 Correct 3 ms 812 KB Output is correct
5 Correct 3 ms 812 KB Output is correct
6 Correct 3 ms 840 KB Output is correct
7 Correct 3 ms 840 KB Output is correct
8 Correct 3 ms 840 KB Output is correct
9 Correct 3 ms 840 KB Output is correct
10 Correct 305 ms 1324 KB Output is correct
11 Correct 171 ms 1324 KB Output is correct
12 Correct 30 ms 1500 KB Output is correct
13 Correct 341 ms 1620 KB Output is correct
14 Correct 227 ms 1712 KB Output is correct
15 Correct 282 ms 1904 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 214 ms 20516 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 504 KB Output is correct
2 Correct 3 ms 628 KB Output is correct
3 Correct 3 ms 708 KB Output is correct
4 Correct 3 ms 812 KB Output is correct
5 Correct 3 ms 812 KB Output is correct
6 Correct 3 ms 840 KB Output is correct
7 Correct 3 ms 840 KB Output is correct
8 Correct 3 ms 840 KB Output is correct
9 Correct 3 ms 840 KB Output is correct
10 Correct 305 ms 1324 KB Output is correct
11 Correct 171 ms 1324 KB Output is correct
12 Correct 30 ms 1500 KB Output is correct
13 Correct 341 ms 1620 KB Output is correct
14 Correct 227 ms 1712 KB Output is correct
15 Correct 282 ms 1904 KB Output is correct
16 Runtime error 214 ms 20516 KB Execution killed with signal 11 (could be triggered by violating memory limits)
17 Halted 0 ms 0 KB -