답안 #584710

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
584710 2022-06-27T21:26:11 Z 1ne 장난감 기차 (IOI17_train) C++14
0 / 100
54 ms 1492 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{
				int temp = parent[x];
				parent[x] = u;
				ans|=dfs(x);
				parent[x] = temp;
			}
		}
		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 i = 0;i<n;++i){
		ans[i]|=cnt[i];
	}
	return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 1492 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 212 KB 3rd lines differ - on the 8th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 1492 KB Output is correct
2 Correct 5 ms 1364 KB Output is correct
3 Correct 6 ms 1364 KB Output is correct
4 Correct 54 ms 1484 KB Output is correct
5 Correct 32 ms 1364 KB Output is correct
6 Incorrect 10 ms 1128 KB 3rd lines differ - on the 200th token, expected: '1', found: '0'
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 36 ms 1208 KB 3rd lines differ - on the 696th token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 47 ms 1316 KB 3rd lines differ - on the 2nd token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 1492 KB 3rd lines differ - on the 1st token, expected: '0', found: '1'
2 Halted 0 ms 0 KB -