# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
538129 | 2022-03-16T06:07:26 Z | penguin133 | 도서관 (JOI18_library) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; void solve(int N){ int A[N+1]; for(int i=1;i<=N;i++)A[i] = 0; vector<int>v; for(int i=1;i<=N;i++)v.push_back(1); vector<int>fin; for(int i=1;i<=N;i++){ v[i-1] = 0; int ans = Query(v); if(ans == 1){fin.push_back(i), A[i-1] = 1; break;} v[i-1] = 1; } for(int i=2;i<=N;i++){ int x = fin.back(); v.clear(); for(int i=0;i<N;i++)v.push_back(0); v[x-1] = 1; for(int j=1;j<=N;j++){ if(A[j])continue; v[j-1] = 1; int ans = Query(v); if(ans == 1){fin.push_back(j), A[i-1] = 1; break;} v[j-1] = 0; } } Answer(fin); }