Submission #919338

#TimeUsernameProblemLanguageResultExecution timeMemory
919338winter0101Chameleon's Love (JOI20_chameleon)C++14
40 / 100
15 ms504 KiB
#include<bits/stdc++.h> #include "chameleon.h" using namespace std; #define all(fl) fl.begin(),fl.end() #define pb push_back #define fi first #define se second #define for1(i,j,k) for(int i=j;i<=k;i++) #define for2(i,j,k) for(int i=j;i>=k;i--) #define for3(i,j,k,l) for(int i=j;i<=k;i+=l) #define lb lower_bound #define ub upper_bound #define sz(a) (int)a.size() #define pii pair<int,int> #define pli pair<long long,int> #define gcd __gcd #define lcm(x,y) x*y/__gcd(x,y) const int maxn=1e3+9; vector<int>a[maxn]; bool edg[maxn][maxn]; void Solve(int n){ for1(i,1,2*n){ for1(j,1,2*n){ if (i==j)continue; if (Query({i,j})==1){ a[i].pb(j); } } } vector<pii>ans; for1(i,1,2*n){ if (sz(a[i])==1){ for (auto v:a[i]){ edg[v][i]=edg[i][v]=1; } } else { vector<int>check; check.pb(i); for1(j,0,sz(a[i])-1){ check.pb(a[i][j]); for1(k,j+1,sz(a[i])-1){ check.pb(a[i][k]); if (Query(check)==1){ edg[i][a[i][j]]=1; edg[i][a[i][k]]=1; } check.pop_back(); } check.pop_back(); } } } for1(i,1,2*n){ for1(j,i+1,2*n){ if (edg[i][j]&&edg[j][i]){ Answer(i,j); } } } }
#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...