Submission #1155049

#TimeUsernameProblemLanguageResultExecution timeMemory
1155049sitablechairIsland Hopping (JOI24_island)C++20
100 / 100
3 ms792 KiB
#include <bits/stdc++.h> #include "island.h" #define ll long long #define ldb long double #define For(i,l,r) for(int i=l;i<=r;i++) #define ForD(i,r,l) for(int i=r;i>=l;i--) #define ff first #define ss second #define pb push_back #define all(x) x.begin(),x.end() #define sz(x) (signed)x.size() #define unq(x) x.resize(unique(all(x))-x.begin()) #define F "TASK" #define fio freopen(F".INP","r",stdin);freopen(F".OUT","w",stdout); #ifdef NCGM #include"debug.h" #else #define debug(...) "fr"; #endif using namespace std; int m,kk[304][304]; vector<int> g1[305]; vector<pair<int,int>> ans; void solve(int n,int l) { For(i,1,n) For(j,1,n-1) kk[i][j]=-1; For(i,1,n) kk[i][1]=query(i,1); ForD(i,n,1) { int cur=1; while(true) { if (sz(g1[i])==n-1) break; if (cur>1) kk[i][cur]=query(i,cur); int u=kk[i][cur]; cur++; if (u<i) { bool check=1; for(auto el: g1[i]) check&=kk[el][1]!=u; if (!check) break; g1[i].pb(u); } else break; } } For(i,1,n) for(auto el: g1[i]) if (el>i) ans.pb({el,i}); else ans.pb({i,el}); sort(all(ans)); unq(ans); for(auto el: ans) answer(el.ff,el.ss); }
#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...