제출 #1208253

#제출 시각아이디문제언어결과실행 시간메모리
1208253Hanksburger장난감 기차 (IOI17_train)C++17
0 / 100
5 ms1352 KiB
#include "train.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> adj[5005], rev[5005];
vector<int> who_wins(vector<int> a, vector<int> r, vector<int> U, vector<int> V)
{
	int n=a.size();
	vector<int> cnt(n, 0), ans(n);
	for (int i=0; i<U.size(); i++)
	{
		rev[U[i]].push_back(V[i]);
		adj[V[i]].push_back(U[i]);
		cnt[U[i]]++;
	}
	queue<int> q;
	for (int i=0; i<n; i++)
		if (r[i])
			q.push(i);
	while (!q.empty())
	{
		int u=q.front();
		q.pop();
		for (int v:adj[u])
		{
			if (r[v])
				continue;
			if (a[v] || !(--cnt[v]))
			{
				r[v]=1;
				q.push(v);
			}
		}
	}
	for (int u=0; u<n; u++)
	{
		ans[u]=1-a[u];
		for (int v:adj[u])
			if (a[u]^r[v]^1)
				ans[u]=a[u];
	}
	return ans;
}
#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...