이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define MAX 5010
using namespace std;
int N, M;
int curComponent;
int node[MAX];
bool isCycle[MAX];
bool isSpecial[MAX];
bool ArezouOwn[MAX];
bool BorzouOwn[MAX];
vector<int> grafo[MAX];
vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v)
{
N = a.size(); M = u.size();
for(int g = 0 ; g < M ; g++)
{
if(u[g] == v[g]) isCycle[ u[g] ] = true;
else grafo[ u[g] ].push_back( v[g] );
}
for(int g = 0 ; g < N ; g++)
{
if(r[g] == 1) isSpecial[g] = true;
else isSpecial[g] = false;
}
for(int g = 0 ; g < N ; g++)
{
if(a[g] == 1) ArezouOwn[g] = true;
else BorzouOwn[g] = true;
}
vector<int> ans;
for(int curStation = 0 ; curStation < N ; curStation++)
{
int aux = curStation;
bool flag = false;
while( true )
{
if(isCycle[aux] && isSpecial[aux] && ArezouOwn[aux])
{
ans.push_back(1); flag = true;
break;
}
if(isCycle[aux] && !isSpecial[aux] && BorzouOwn[aux])
{
ans.push_back(0); flag = true;
break;
}
if(grafo[aux].empty()) break;
aux = grafo[aux].back();
}
if(!flag) ans.push_back( 0 );
}
return ans;
}
/*int main()
{
int nn, mm, n1, n2;
scanf("%d %d",&nn,&mm);
vector<int> v1, v2;
vector<int> uu, vv;
for(int g = 0 ; g < mm ; g++)
{
scanf("%d %d",&n1,&n2);
uu.push_back( n1 );
vv.push_back( n2 );
}
for(int g = 0 ; g < nn ; g++)
{
scanf("%d",&n1);
v1.push_back(n1);
}
for(int g = 0 ; g < nn ; g++)//ESPECIAL
{
scanf("%d",&n1);
v2.push_back(n1);
}
vector<int> ans = who_wins(v1 , v2 , uu , vv);
for(int g = 0 ; g < nn ; g++)
printf("%d ",ans[g]);
}*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |