제출 #1257479

#제출 시각아이디문제언어결과실행 시간메모리
1257479dead0neIsland Hopping (JOI24_island)C++20
100 / 100
3 ms428 KiB
#include "island.h" #include <bits/stdc++.h> using namespace std; int cnt; map<pair<int, int>, int> m; void ae(int x, int y){ if(x>y) swap(x,y); if(m[{x,y}]==0){ m[{x,y}]=1; answer(x,y); cnt++; } } void solve(int N, int L) { int fir[N+1]{}; int cur=N; cnt=0; set<int> s; while(cnt<N-1){ for(int i=1; i<N; i++){ int las=fir[cur]; if(!(i==1 && fir[cur]!=0)) las=query(cur, i); if(las>cur) break; if(i==1 && fir[cur]==0){ fir[cur]=las; ae(cur, las); } if(!fir[las]){ fir[las]=query(las, 1); ae(las, fir[las]); } if(fir[las]==cur) continue; if(s.find(las)!=s.end()) break; ae(cur, las); s.insert(fir[las]); } s.clear(); cur--; } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...