# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
250757 | 2020-07-19T05:04:59 Z | IsaacMoris | Minerals (JOI19_minerals) | C++14 | 0 ms | 0 KB |
#include<iostream> #include <bits/stdc++.h> //#include "minerals.h" #define ll long long #define ld long double #define IO ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); using namespace std; void Solve(int N) { vector<int> v; for (int i = 1; i <= 2 * N; ++i) v.push_back(i); for(int i=0; i<50; i++) random_shuffle(v.begin(),v.end()); stack<int> st; int last=0; while(!v.empty()) { int x= Query(v.back()); if(x!=last) { st.push(v.back()); v.pop_back(); last=x; continue; } int a=v.back(); v.pop_back(); while(1) { x=Query(st.top()); if(x!=last) { v.push_back(st.top()); st.pop(); last=x; continue; } Answer(st.top(), a); st.pop(); last=Query(a); break; } } }