# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
939240 | 2024-03-06T07:22:07 Z | irmuun | 수천개의 섬 (IOI22_islands) | C++17 | 1000 ms | 1171484 KB |
#include<bits/stdc++.h> #include "islands.h" using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() variant<bool,vector<int>>find_journey(int n,int m,vector<int>u,vector<int>v){ bool ok=false; vector<int>ans,road; vector<pair<int,int>>adj[n]; for(int i=0;i<m;i+=2){ adj[u[i]].pb({v[i],i}); adj[v[i]].pb({u[i],i}); } int cur=0,par=-1; while(true){ int x=0,y=1; if(par==-1){ if(adj[cur].size()>=2){ ans.pb(adj[cur][0].ss); ans.pb(adj[cur][0].ss+1); ans.pb(adj[cur][1].ss); ans.pb(adj[cur][1].ss+1); ans.pb(adj[cur][0].ss+1); ans.pb(adj[cur][0].ss); ans.pb(adj[cur][1].ss+1); ans.pb(adj[cur][1].ss); } if(adj[cur].size()==0) return false; ans.pb(adj[cur][0].ss); road.pb(adj[cur][0].ss); par=cur; cur=adj[cur][0].ff; } else{ int i=0,j=1; if(adj[cur].size()>=3){ if(adj[cur][0].ff==par) i=1,j=2; else if(adj[cur][1].ff==par) j=2; ans.pb(adj[cur][i].ss); ans.pb(adj[cur][i].ss+1); ans.pb(adj[cur][j].ss); ans.pb(adj[cur][j].ss+1); ans.pb(adj[cur][i].ss+1); ans.pb(adj[cur][i].ss); ans.pb(adj[cur][j].ss+1); ans.pb(adj[cur][j].ss); } if(adj[cur].size()==1) return false; if(adj[cur][0].ff==par){ ans.pb(adj[cur][1].ss); road.pb(adj[cur][1].ss); par=cur; cur=adj[cur][1].ff; } else{ ans.pb(adj[cur][0].ss); road.pb(adj[cur][0].ss); par=cur; cur=adj[cur][0].ff; } } } for(int i=(int)road.size()-1;i>=0;i--){ ans.pb(road[i]+1); } return ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1108 ms | 790240 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1054 ms | 1156148 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1085 ms | 1122336 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1116 ms | 1171484 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1108 ms | 790240 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |