Submission #72866

#TimeUsernameProblemLanguageResultExecution timeMemory
72866Sa1378Toy Train (IOI17_train)C++17
0 / 100
11 ms1672 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; #define N ((int)100) int n,m; bool e[N][N],mark[N]; vector <int> now; bool solve(vector <int> &a,vector <int> &r) { int x=now.back(); bool flg=0; for(int i=(int)now.size();i>=0;i--) { flg|=r[now[i]]; if(flg!=a[x])break; if(e[x][i])return a[x]; } for(int i=0;i<n;i++) { if(mark[i] || !e[x][i])continue; now.push_back(i);mark[i]=1; if(solve(a,r)==a[x])return a[x]; now.pop_back();mark[i]=0; } return 1-a[x]; } vector<int> who_wins(vector<int> a,vector<int> r,vector<int> u,vector<int> v) { n=a.size();m=u.size(); for(int i=0;i<m;i++)e[u[i]][v[i]]=1; vector <int> res; for(int i=0;i<n;i++) { now.push_back(i);mark[i]=1; res.push_back(solve(a,r)); now.pop_back();mark[i]=0; } return res; }
#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...