Submission #900347

#TimeUsernameProblemLanguageResultExecution timeMemory
900347nightfalToy Train (IOI17_train)C++14
5 / 100
47 ms99412 KiB
#include <iostream> #include <vector> #include <cstdio> #include <cassert> #include <algorithm> using namespace std; bool isSubtask1(vector<int>& u, vector<int>& v) { int m = u.size(); for(int i=0; i<m; i++) if (v[i]!=u[i] && v[i]!=u[i]+1) return false; return true; } vector<int> subtask1(vector<int>& a, vector<int>& r, vector<int>& u, vector<int>& v) { int n = a.size(), m = u.size(); vector<int> ans(n,0); vector<vector<int>> adj(n,vector<int>(n,0)); for(int i=0; i<m; i++) adj[u[i]][v[i]] = 1; // for(int i=0; i<n; i++) { // for(int j=0; j<n; j++) // cout << adj[i][j] << " "; // cout << endl; // } // return ans; ans[n-1]=r[n-1]; for(int i=n-2; i>=0; i--) if (a[i]) {ans[i] = adj[i][i] && r[i] || adj[i][i+1] && ans[i+1];} else {ans[i] = (adj[i][i]==0 || r[i]) && (adj[i][i+1]==0 || ans[i+1]);} return ans; } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { vector<int> res(a.size()); int n = a.size(), m = u.size(); vector<vector<int>> adj(n); for(int i=0; i<m; i++) adj[u[i]].push_back(v[i]); for(int i=0; i<n; i++) sort(adj[i].begin(),adj[i].end()); // if (isSubtask1(u,v)) return subtask1(a,r,u,v); for(int i=0; i<n; i++) { cout << i << ": "; for (const int elem: adj[i]) cout << elem << " "; cout << endl; } for(int i = 0; i < n; i++) res[i] = i % 2; return res; }

Compilation message (stderr)

train.cpp: In function 'std::vector<int> subtask1(std::vector<int>&, std::vector<int>&, std::vector<int>&, std::vector<int>&)':
train.cpp:29:39: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   29 |         if (a[i]) {ans[i] = adj[i][i] && r[i] || adj[i][i+1] && ans[i+1];}
#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...