# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
722356 | 2023-04-11T20:30:44 Z | FatihSolak | 도서관 (JOI18_library) | C++17 | 59 ms | 320 KB |
#include <bits/stdc++.h> #include "library.h" using namespace std; void Solve(int N){ vector<int> M(N); auto ask = [&](vector<int> &v){ fill(M.begin(),M.end(),0); for(auto u:v){ M[u] = 1; } return Query(M); }; auto ok = [&](vector<int> v,int x)->bool{ if(v.empty()) return false; int tmp = ask(v); v.push_back(x); return ask(v) <= tmp; }; vector<int> adj[N]; vector<bool> used(N); queue<int> q; used[0] = 1; q.push(0); q.push(0); while(q.size()){ int tp = q.front(); q.pop(); vector<int> v; for(int i = 0;i<N;i++){ if(!used[i]) v.push_back(i); } if(!ok(v,tp))continue; while(v.size() > 1){ vector<int> a; while(a.size() < v.size()){ a.push_back(v.back()); v.pop_back(); } if(ok(v,tp)){ continue; } v = a; } if(!ok(v,tp))continue; q.push(v[0]); used[v[0]] = 1; adj[tp].push_back(v[0]); adj[v[0]].push_back(tp); } vector<int> res; for(int i = 0;i<N;i++){ if(adj[i].size() == 1){ int now = i; while(1){ int tmp = -1; if(res.size()) tmp = res.back(); res.push_back(now); if(res.size() == N) break; for(auto u:adj[now]){ if(u != tmp){ now = u; break; } } } break; } } for(auto &u:res) u++; Answer(res); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 46 ms | 312 KB | # of queries: 3142 |
2 | Correct | 37 ms | 312 KB | # of queries: 3120 |
3 | Correct | 49 ms | 208 KB | # of queries: 3288 |
4 | Correct | 40 ms | 320 KB | # of queries: 3298 |
5 | Correct | 49 ms | 304 KB | # of queries: 3300 |
6 | Correct | 44 ms | 208 KB | # of queries: 3304 |
7 | Correct | 39 ms | 320 KB | # of queries: 3278 |
8 | Correct | 59 ms | 296 KB | # of queries: 3166 |
9 | Correct | 47 ms | 312 KB | # of queries: 3278 |
10 | Correct | 27 ms | 316 KB | # of queries: 1950 |
11 | Incorrect | 0 ms | 208 KB | Wrong Answer [4] |
12 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 46 ms | 312 KB | # of queries: 3142 |
2 | Correct | 37 ms | 312 KB | # of queries: 3120 |
3 | Correct | 49 ms | 208 KB | # of queries: 3288 |
4 | Correct | 40 ms | 320 KB | # of queries: 3298 |
5 | Correct | 49 ms | 304 KB | # of queries: 3300 |
6 | Correct | 44 ms | 208 KB | # of queries: 3304 |
7 | Correct | 39 ms | 320 KB | # of queries: 3278 |
8 | Correct | 59 ms | 296 KB | # of queries: 3166 |
9 | Correct | 47 ms | 312 KB | # of queries: 3278 |
10 | Correct | 27 ms | 316 KB | # of queries: 1950 |
11 | Incorrect | 0 ms | 208 KB | Wrong Answer [4] |
12 | Halted | 0 ms | 0 KB | - |