제출 #157271

#제출 시각아이디문제언어결과실행 시간메모리
157271AKaan37장난감 기차 (IOI17_train)C++17
0 / 100
114 ms111736 KiB
#include "train.h" //Sani buyuk Osman Pasa Plevneden cikmam diyor. //FatihSultanMehmedHan //Abdulhamid Han //Bismillahirrahmanirrahim //█▀█─█──█──█▀█─█─█ //█▄█─█──█──█▄█─█▄█ //█─█─█▄─█▄─█─█─█─█ #pragma GCC optimize ("O3") #pragma GCC target ("sse4") #include <bits/stdc++.h> #include <cstdio> #include <vector> #include <cassert> using namespace std; typedef long long lo; typedef pair< lo,lo > PII; #define fi first #define se second #define mp make_pair #define pb push_back #define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define FOR for(int i=1;i<=n;i++) #define mid ((start+end)/2) #define ort ((bas+son)/2) const lo MAX = -1000000000000000000; const lo MIN = 1000000000000000000; const lo inf = 1000000000; const lo KOK = 100000; const lo LOG = 30; const lo li = 500005; const lo mod = 1000000007; int n,m,b[li],a[li],flag,t,fa[li],par[li]; int cev; map<int,int> vis[5003]; unordered_map<int,int> visit; string s; vector<int> v[li]; vector<int> vv; inline void dfs(int node,int cycle,vector<int> r,int at,int ind){ //~ cout<<node<<" "<<ind<<endl; if(cycle==1){ if(node==ind && at==1)return ; //~ cout<<node<<cycle<<" "<<at<<" "<<ind<<endl; if(r[node]==1)flag=1; if(flag==1)return ; dfs(par[node],1,r,1,ind); return ; } if(visit[node]==1)return ; if(flag==1)return ; visit[node]=1; for(int i=0;i<(int)v[node].size();i++){ int go=v[node][i]; if(vis[node][go]==1)dfs(go,1,r,0,ind); else {vis[node][go]=1;par[go]=node;dfs(go,0,r,0,ind);} } } std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> x, std::vector<int> y) { for(int j=0;j<(int)x.size();j++){ v[x[j]].pb(y[j]); } for(int i = 0; i < (int)a.size(); i++){ flag=0; if(visit[i]==1){vv.pb(1);continue;} //~ visit.clear(); //~ for(int j=0;j<(int)a.size();j++)vis[j].clear(); dfs(i,0,r,0,i); if(flag==1)vv.pb(1); else vv.pb(0); } return vv; }
#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...