Submission #293206

#TimeUsernameProblemLanguageResultExecution timeMemory
293206eohomegrownapps장난감 기차 (IOI17_train)C++14
0 / 100
8 ms896 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; int n,m; /* vector<int> adjlist; vector<int> revadjlist; vector<int> status; void dfs(int node){ status[node]=1; for (int i : adjlist[node]){ if (status[i]!=0){ } } status[node]=2; } vector<int> aall(vector<int> &charging, vector<int> &u, vector<int> &v){ adjlist.resize(n); for (int i = 0; i<m; i++){ adjlist[u[i]].push_back(v[i]); } status.resize(n,0); for (int i = 0; i<m; i++){ cycle } } vector<int> ball(vector<int> &charging, vector<int> &u, vector<int> &v){ return vector<int>(); }*/ std::vector<int> who_wins(std::vector<int> aowns, std::vector<int> charging, std::vector<int> u, std::vector<int> v) { n=aowns.size(); m=u.size(); int numa = 0; for (int i : aowns){ numa+=i; } /*if (numa==n){ return aall(charging,u,v); } if (numa==0){ return ball(charging,u,v); }*/ vector<bool> iscycle(n); vector<bool> edgetonext(n,false); for (int i = 0; i<m; i++){ if (u[i]==v[i]){ iscycle[u[i]]=true; } else { edgetonext[u[i]]=true; } } vector<int> ans(n); for (int i = n-1; i>=0; i--){ if (iscycle[i]){ if (aowns[i]&&charging[i]){ ans[i]=1; } else if ((!aowns[i])&&(!charging[i])){ ans[i]=0; } else { if (!edgetonext[u[i]]){ if (charging[i]){ ans[i]=1; } else { ans[i]=0; } } else { ans[i]=ans[i+1]; } } } else { ans[i]=ans[i+1]; } } return ans; }
#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...