제출 #836394

#제출 시각아이디문제언어결과실행 시간메모리
836394TrumlingThousands Islands (IOI22_islands)C++17
1.75 / 100
30 ms5392 KiB
#include "islands.h" #include <variant> #include <vector> #include<bits/stdc++.h> using namespace std; #define F first #define S second #define all(x) x.begin(),x.end() typedef long long ll; #define pb push_back #define INF 9999999999999999 vector<vector<pair<int,int>>>g; ll last=-1; void dfs(int start, vector<pair<int,int>> &vis) { for(auto x:g[start]) { if(vis[x.F].F==-1) { vis[x.F]={start,x.S}; dfs(x.F,vis); continue; } if((x.F==vis[start].F && x.S!=vis[start].S) || x.F!=vis[start].F) { last=start; break; } } return ; } variant<bool, vector<int> > find_journey(int N, int M, vector<int> U, vector<int> V) { g.assign(N,vector<pair<int,int>>()); for(int i=0;i<M;i+=2) { g[U[i]].pb({V[i],i}); g[V[i]].pb({U[i],i}); } vector<pair<int,int>>vis(N,{-1,-1}); vis[0]={0,0}; dfs(0,vis); if(last==-1) return false; vector<int>v={0}; return v; }
#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...