# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
59168 | TadijaSebez | Toy Train (IOI17_train) | C++11 | 620 ms | 15648 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 <stdio.h>
#include <queue>
#include <vector>
using namespace std;
#define pb push_back
const int N=5050;
vector<int> R[N];
int deg[N],in[N];
bool was[N],vis[N],A[N];
void AddEdge(int u, int v){ R[v].pb(u);deg[u]++;}
void DelNode(int u){ for(int i=0;i<R[u].size();i++) deg[R[u][i]]--;was[u]=1;}
void init(int n){ for(int i=1;i<=n;i++) vis[i]=0;}
queue<int> q;
vector<int> st;
void BFS(int n, bool mod)
{
init(n);
int i;
for(i=1;i<=n;i++) if(!was[i]) in[i]=(A[i]==mod)?1:deg[i];
for(i=0;i<st.size();i++) vis[st[i]]=1,q.push(st[i]);
while(q.size())
{
int u=q.front();
q.pop();
for(i=0;i<R[u].size();i++)
{
int v=R[u][i];
if(vis[v] || was[v]) continue;
in[v]--;
if(!in[v])
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... |