| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 425686 | MOUF_MAHMALAT | Toy Train (IOI17_train) | C++14 | 2059 ms | 1136 KiB | 
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;
typedef int ll;
vector<vector<ll> >v;
ll n;
bool b[5009],c[5009],is[5009];
bool dfs(ll d,ll op)
{
    if(is[d])
        return 1;
    is[d]=1;
    if(c[d])
        op=n;
    if(op==0)
        return 0;
    bool r=b[d]^1;
    for(auto z:v[d])
    {
        if(b[d])
            r|=dfs(z,op-1);
        else
            r&=dfs(z,op-1);
    }
    is[d]=0;
    return r;
}
vector<int> who_wins(vector<int> A, vector<int> R, vector<int> from, vector<int> to)
{
    n=A.size();
    v.resize(n);
    for(ll i=0; i<to.size(); i++)
        v[from[i]].push_back(to[i]);
    for(ll i=0; i<n; i++)
        b[i]=A[i],c[i]=R[i];
    vector<ll>ans;
    for(ll i=0; i<n; i++)
        ans.push_back(dfs(i,n));
    return ans;
}
Compilation message (stderr)
| # | 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... | ||||
