Submission #797703

#TimeUsernameProblemLanguageResultExecution timeMemory
797703XJP12Thousands Islands (IOI22_islands)C++17
0 / 100
26 ms6400 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; vector<vector<pair<int,int>>> g; vector<int> recorrido; vector<int> vis; bool ya=false; void dfs(int u, int pist){ vis[u]=true; for(auto vv: g[u]){ if(!vis[vv.first]){ if(ya==true) recorrido.push_back(vv.second); if(vv.second==pist){ ya=true; } dfs(vv.first,pist); if(ya==true) recorrido.pop_back(); } } } variant<bool,vector<int>> find_journey(int n, int m, vector<int> u, vector<int> v){ vi check(1001); vector<pair<int,int>> p; g.assign(n+1,p); vis.assign(n+1,0); bool ban=false; int pistacho=-1; for(int i=0; i<m; i++){ check[u[i]]++; if(check[u[i]]>=3){ ban=true; pistacho=min(pistacho,u[i]); } } if(ban==false){ return false; } for(int i=0; i<m; i++){ g[u[i]].push_back({v[i],i}); } if(pistacho!=0){ dfs(0,pistacho); } int a=-1,b=-1,c=-1,d=-1; int peanut1=-1, peanut2=-1; for(int i=0; i<m; i++){ if(u[i]==pistacho){ if(peanut1==-1){ a=i; peanut1=v[i]; }else{ b=i; peanut2=v[i]; break; } } } for(int i=0; i<m; i++){ if(u[i]==peanut1){ if(v[i]==0){ c=i; break; } } } for(int i=0; i<m; i++){ if(u[i]==peanut2){ if(v[i]==0){ d=i; break; } } } vector<int> x(8); x={a,c,b,d,c,a,d,b}; for(int i=0; i<8; i++){ recorrido.push_back(x[i]); } return recorrido; }
#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...