This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "train.h"
#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
// #define int long long
typedef long long ll ;
const ll ooo = 1e14 ;
const ll oo = 2e9 ;
const double PI = acos(-1) ;
const ll M = 1e9 + 7 ;
const int N = 10000010 ;
vector<int> g[5010] , w , R;
int dfs(int i){
if(w[i] != -1) return w[i];
for(auto x : g[i])
w[i] = dfs(x);
if(w[i] == -1) w[i] = R[i];
return w[i] ;
}
vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) {
int n = a.size() , m = u.size();
w = vector<int>(n , -1);
R = r;
for(int i = 0 ; i < m ; ++i){
int x = u[i] , y = v[i];
if(x == y && a[x] == 1 && r[x] == 1) w[x] = 1;
if(x == y && a[x] == 0 && r[x] == 0) w[x] = 0;
else if(x != y) g[x].push_back(y);
}
for(int i = 0 ; i < n ; ++i){
if(w[i] != -1) continue ;
dfs(i);
}
return w;
}
# | 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... |