답안 #584705

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
584705 2022-06-27T21:18:36 Z 1ne 장난감 기차 (IOI17_train) C++14
0 / 100
374 ms 1752 KB
#include "train.h"
#include<bits/stdc++.h>
using namespace std;
std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) {
	int n = (int)a.size();
	int m = (int)u.size();
	vector<int>ans(n,0);
	vector<vector<int>>adj(n);
	for (int i = 0;i<m;++i){
		adj[u[i]].push_back(v[i]);
	}
	vector<int>visited(n,0);
	vector<int>cnt(n,0);
	vector<int>parent(n,-1);
	function<int(int)>dfs = [&](int u){
		if (visited[u] ==  2)return cnt[u];
		visited[u] = 1;
		int ans = 0;
		for (auto x:adj[u]){
			if (visited[x] == 1){
				int y = u;
				vector<int>temp;
				int got = r[x];
				temp.push_back(x);
				while(y!=x){
					got|=r[y];
					temp.push_back(y);
					y = parent[y];
				}
				ans |= got;
				for (auto y:temp)cnt[y]|=got;
			}
			else{
				parent[x] = u;
				ans|=dfs(x);
			}
		}
		visited[u] = 2;
		return cnt[u] |= ans;
	};	
	for (int i = 0;i<n;++i){
		if (visited[i] == 2){
			ans[i] = cnt[i];
		}
		else{
			ans[i] = dfs(i);
		}
	}
	for (int j = 0;j<n;++j)
	for (int i = 0;i<m;++i){
			cnt[u[i]]|=cnt[v[i]];
	}
	for (int i = 0;i<n;++i){
		ans[i]|=cnt[i];
	}
	return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 102 ms 1612 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB 3rd lines differ - on the 8th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 296 ms 1492 KB Output is correct
2 Correct 296 ms 1412 KB Output is correct
3 Correct 278 ms 1388 KB Output is correct
4 Correct 248 ms 1492 KB Output is correct
5 Correct 299 ms 1380 KB Output is correct
6 Correct 305 ms 1108 KB Output is correct
7 Correct 295 ms 1236 KB Output is correct
8 Correct 264 ms 1364 KB Output is correct
9 Correct 266 ms 1340 KB Output is correct
10 Correct 255 ms 1272 KB Output is correct
11 Correct 263 ms 1236 KB Output is correct
12 Correct 253 ms 1192 KB Output is correct
13 Correct 367 ms 1752 KB Output is correct
14 Incorrect 374 ms 1716 KB 3rd lines differ - on the 1st token, expected: '1', found: '0'
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 196 ms 1280 KB 3rd lines differ - on the 696th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 336 ms 1412 KB 3rd lines differ - on the 2nd token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 102 ms 1612 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -