Submission #422737

#TimeUsernameProblemLanguageResultExecution timeMemory
422737schseToy Train (IOI17_train)C++17
5 / 100
10 ms1368 KiB
#include "train.h" #ifndef EVAL #include "grader.cpp" #endif #include <bits/stdc++.h> using namespace std; struct node { vector<int> edges; bool been; bool charging = false; bool owner; bool winningpos = false; }; vector<node> g; bool rec(int n) { auto &[edges, been, charging, owner, winningpos] = g[n]; if (been) return winningpos; been = true; if (edges.size() == 0) return winningpos = charging; return winningpos = rec(edges[0]); } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { std::vector<int> res(a.size()); g.resize(a.size()); for (int i = 0; i < a.size(); i++) { g[i].owner = a[i]; g[i].charging = r[i]; } for (int i = 0; i < u.size(); i++) { if (g[u[i]].owner && g[u[i]].charging && u[i] == v[i]) g[v[i]].winningpos = true, g[v[i]].been = true; else if (!g[u[i]].owner && !g[u[i]].charging && u[i] == v[i]) g[v[i]].winningpos = false, g[v[i]].been = true; else if (u[i] == v[i]) { } else g[u[i]].edges.push_back(v[i]); } for (int i = 0; i < (int)a.size(); i++) res[i] = rec(i); 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:39:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |  for (int i = 0; i < a.size(); i++)
      |                  ~~^~~~~~~~~~
train.cpp:44:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |  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...