Submission #895200

#TimeUsernameProblemLanguageResultExecution timeMemory
895200Darren0724Monster Game (JOI21_monster)C++17
10 / 100
119 ms4348 KiB
#include "monster.h" //#include "grader.cpp" #include <bits/stdc++.h> using namespace std; const int N=205; int n; inline int ask(int a,int b){ return Query(a,b); } vector<int> Solve(int n1) { n=n1; vector<int> ans(n); vector v(n,vector<int>(n,0)); vector<int> cnt(n); for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ v[i][j]=ask(i,j); v[j][i]=v[i][j]^1; cnt[i]+=v[i][j]; cnt[j]+=v[j][i]; } } vector<int> t; for(int i=0;i<n;i++){ if(cnt[i]==n-2){ t.push_back(i); } } int now=0; if(v[t[0]][t[1]]){ ans[t[0]]=n-2; ans[t[1]]=n-1; now=t[0]; } else{ ans[t[1]]=n-2; ans[t[0]]=n-1; now=t[1]; } for(int i=n-3;i>0;i--){ int idx=-1; for(int j=0;j<n;j++){ if(ans[j]){ continue; } if(v[j][now]){ idx=j; break; } } ans[idx]=i; now=idx; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...