제출 #1242195

#제출 시각아이디문제언어결과실행 시간메모리
1242195thelegendary08Toy Train (IOI17_train)C++17
5 / 100
3 ms840 KiB
#include "train.h" #include<bits/stdc++.h> #define int long long #define pb push_back #define mp make_pair #define vb vector<bool> #define vi vector<int> #define vvi vector<vi> #define pii pair<int,int> #define vpii vector<pii> #define f0r(i,n) for(int i = 0; i<n; i++) #define FOR(i, k, n) for(int i = k; i<n; i++) const int mxn = 5e3 + 5; using namespace std; vvi adj(mxn); int n, m; std::vector<signed> who_wins(std::vector<signed> a, std::vector<signed> r, std::vector<signed> u, std::vector<signed> v) { n = a.size(); m = u.size(); vi nxt(n); vi cyc(n); f0r(i, m){ if(u[i] + 1 == v[i])nxt[u[i]] = 1; else cyc[u[i]] = 1; } vector<signed> ans(n); f0r(tt, n){ int x = tt; if(cyc[x] && a[x] == 1 && r[x] == 1){ ans[tt] = 1; continue; } if(cyc[x] && a[x] == 0 && r[x] == 0){ ans[tt] = 0; continue; } bool ok = 0; while(nxt[x]){ x++; if(cyc[x] && a[x] == 1 && r[x] == 1){ ans[tt] = 1; ok = 1; break; } if(cyc[x] && a[x] == 0 && r[x] == 0){ ans[tt] = 0; ok = 1; break; } } if(ok)continue; if(cyc[x] && r[x])ans[tt] = 1; else ans[tt] = 0; } 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...