제출 #48119

#제출 시각아이디문제언어결과실행 시간메모리
48119ShaneOng도서관 (JOI18_library)C++14
19 / 100
2031 ms880 KiB
#include <bits/stdc++.h> #include "library.h" using namespace std; vector<int> ans,ans1,ans2,adjList[10009]; vector<bool> vis; void dfs2(int u,int a){ if(a==0) ans1.push_back(u); for(int x=0;x<(int)adjList[u].size();x++){ int v=adjList[u][x]; if(!vis[v]){ vis[v]=true; dfs2(v,a); } } if(a==1) ans2.push_back(u); } void dfs1(int u){ for(int x=0;x<(int)adjList[u].size();x++){ int v=adjList[u][x]; vis[v]=true; dfs2(v,x); } ans2.push_back(u); } void Solve(int N) { vector<int> M(N),arr(N,0); for(int i = 0; i < N; i++) { if(arr[i]==2) continue; M[i] = 1; for(int j=i+1;j<N;j++){ if(arr[i]==2) break; if(arr[j]==2) continue; M[j] = 1; int A = Query(M); M[j]=0; if(A==1){ adjList[i].push_back(j); adjList[j].push_back(i); arr[i]++; arr[j]++; } } M[i]=0; } vis.assign(N,false); vis[0]=true; dfs1(0); for(int x:ans2){ ans.push_back(x+1); //printf("%d ",x); } for(int x:ans1){ ans.push_back(x+1); //printf("%d ",x); } //printf("\n"); Answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...