Submission #1061248

#TimeUsernameProblemLanguageResultExecution timeMemory
1061248vjudge1Toy Train (IOI17_train)C++17
0 / 100
2066 ms25816 KiB
// #include "train.h" #include<bits/stdc++.h> using namespace std; const int N = 5000 + 10; vector<int> G[N]; bool R[N], seen[N][N]; int n; bool dfs(int v, int s) { seen[v][s] = true; if(R[v]) return 1; bool ok = 0; for(int u : G[v]) { if(seen[u][s]) continue; ok |= dfs(u, s); } return ok; } vector<int> Arezou() { vector<int> w(n); for(int s = 0; s < n; s++) w[s] = dfs(s, s); return w; } vector<int> Borzou() { vector<int> w(n); return w; } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { n = a.size(); for(int i = 0; i < u.size(); i ++) G[u[i]].push_back(v[i]); for(int i = 0; i < n; i ++) R[i] = r[i]; vector<int> w(n); int c = count(a.begin(), a.end(), 1); if(c == a.size()) return Arezou(); if(c == 0) return Borzou(); for(int i = 0; i < n; i++) { int s = i; while(true) { // do I have a cycle bool cycle = false; for(int c : G[s]) if(c == s) cycle = true; if(cycle) { if(G[s].size() == 1) { w[i] = r[s]; break; } if(r[s]) { if(a[s] == 1) { w[i] = 1; break; } s++; continue; } if(a[s] == 1) { s++; continue; } else { w[i] = 0; break; } } } } return w; }

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:43:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |   for(int i = 0; i < u.size(); i ++)
      |                  ~~^~~~~~~~~~
train.cpp:53:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |   if(c == a.size())
      |      ~~^~~~~~~~~~~
#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...