Submission #428625

#TimeUsernameProblemLanguageResultExecution timeMemory
428625vanicToy Train (IOI17_train)C++14
15 / 100
2053 ms1316 KiB
#include "train.h" #include <iostream> #include <vector> #include <algorithm> #include <cmath> using namespace std; const int maxn=5005; int n, m; vector < int > ms[maxn]; int charge[maxn]; bool tko[maxn]; bool bio[maxn]; vector < int > sol; vector < int > put; int dfs(int x){ if(bio[x]){ bool p=0; for(int i=0; i<put.size(); i++){ if(put[i]==x){ p=1; } if(p){ if(charge[put[i]]){ return 1; } } } return 0; } put.push_back(x); bio[x]=1; for(int i=0; i<ms[x].size(); i++){ if(dfs(ms[x][i])==tko[x]){ bio[x]=0; put.pop_back(); return tko[x]; } } bio[x]=0; put.pop_back(); return !tko[x]; } vector < int > who_wins(vector < int > a, vector < int > r, vector < int > u, vector < int > v) { n=a.size(); m=u.size(); for(int i=0; i<n; i++){ tko[i]=a[i]; charge[i]=r[i]; } for(int i=0; i<m; i++){ ms[u[i]].push_back(v[i]); } sol.resize(n, 0); for(int i=0; i<n; i++){ sol[i]=dfs(i); } return sol; }

Compilation message (stderr)

train.cpp: In function 'int dfs(int)':
train.cpp:22:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |   for(int i=0; i<put.size(); i++){
      |                ~^~~~~~~~~~~
train.cpp:36:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |  for(int i=0; i<ms[x].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...