Submission #1239245

#TimeUsernameProblemLanguageResultExecution timeMemory
1239245moondarksideToy Train (IOI17_train)C++20
0 / 100
3 ms1096 KiB
#include<bits/stdc++.h> using namespace std; std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) { vector<vector<int>> Next(a.size()); vector<vector<int>> NextInv(a.size()); int n=a.size(); vector<int> prc(n,-1); std::vector<int> rC=r; for(int sur=0; sur<n; sur++) { rC=r; bool camb=true; for(int ronda=0; ronda<n && camb; ronda++) { camb=false; for(int i=0; i<n; i++) { if(rC[i]!=1) { if(a[i]==1) { for(int j=0; j<Next[i].size(); j++) { if(rC[Next[i][j]]==1) { rC[i]=1; camb=true; } } } else { int ns=1; for(int j=0; j<Next[i].size(); j++) { ns=ns*rC[Next[i][j]]; } if(ns==1) { camb=true; } rC[i]=ns; } } } } camb=true; for(int ronda=0; ronda<n && camb; ronda++) { camb=false; for(int i=0; i<n; i++) { if(rC[i]==1) { if(a[i]==0) { for(int j=0; j<Next[i].size(); j++) { if(rC[Next[i][j]]==0) { rC[i]=0; camb=true; } } } else { int ns=1; for(int j=0; j<Next[i].size(); j++) { ns=ns*(1-rC[Next[i][j]]); } rC[i]=1-ns; if(1-ns==0){ camb=true; } } } } } bool ret=true; for(int i=0; i<n; i++) { r[i]=r[i] && rC[i]; if(prc[i]!=rC[i]){ ret=false; } } if(ret){ vector<int> Sol; for(int i=0; i<n; i++) { Sol.push_back(rC[i]); } return Sol; } prc=rC; } vector<int> Sol; for(int i=0; i<n; i++) { Sol.push_back(rC[i]); } return Sol; }
#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...