Submission #134887

#TimeUsernameProblemLanguageResultExecution timeMemory
134887amiratouToy Train (IOI17_train)C++14
0 / 100
2062 ms26092 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; vector<int> A,R; int n; vector<vector<int> > vec; bool vis[5001][5002]; int dfs(int node,int e,int charge){ if(R[node])e=n,charge=1; //cerr<<node<<" "<<e<<"\n"; if(!e)return 0; //cerr<<vis[node][e]<<"\n"; if(vis[node][e]) return 1; vis[node][e]=1; for(auto child:vec[node]){ int ans=dfs(child,e-1,charge); if(A[node]==ans)return ans; } return !A[node]; } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { //cerr<<"\n----------\n"; A=a,R=r; n=a.size(); vec.resize(a.size()); for (int i = 0; i < u.size(); ++i) vec[u[i]].push_back(v[i]); vector<int> res(n); for (int i = 0; i < n; ++i){ memset(vis,0,sizeof vis); res[i]=dfs(i,n,0); //cerr<<"\n----------\n"; } return res; }

Compilation message (stderr)

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:30:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < u.size(); ++i)
                  ~~^~~~~~~~~~
#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...