Submission #583908

#TimeUsernameProblemLanguageResultExecution timeMemory
583908PiejanVDCToy Train (IOI17_train)C++17
0 / 100
6 ms1000 KiB
#include <bits/stdc++.h>
#include "train.h"

using namespace std;

vector<int>who_wins(vector<int>a, vector<int>r, vector<int>u, vector<int>v) {

    int n = r.size();
    int m = u.size();

    vector<int>adj[n];

    vector<int>cnt(n,0);

    for(int i = 0 ; i < m ; i++)
        adj[v[i]].push_back(u[i]), cnt[u[i]]++;

    stack<int>s;

    for(int i = 0 ; i < n ; i++) {
        if(r[i])
            s.push(i);
    }

    vector<int>ans(n,0);

    while(!s.empty()) {

        int node = s.top();
        s.pop();

        ans[node] = 1;

        for(auto z : adj[node]) if(!ans[z]) {
            cnt[z]--;
            if(a[z] || !cnt[z]) {
                s.push(z);
            }
        }
    }

    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...