This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <swaps.h>
#include<cassert>
#include <algorithm>
#include <functional>
#include <vector>
#include <iostream>
using namespace std;
/*void schedule(int i, int j){
cout << "schedule " << i << " " << j << "\n" << flush;
}
vector<int> visit(){
cout << "visit\n" << flush;
int n;
cin >> n;
vector<int> ans(n);
for(int i=0; i<n; i++){
cin >> ans[i];
}
cout << "Yes: " << n << "\n";
return ans;
}
void answer(vector<int>& ans){
cout << "answer: \n";
for(auto e: ans){
cout << e << " ";
}
cout << "\n" << flush;
}*/
void solve(int n, int v){
vector<vector<int> > op(n);
for(int i=0; i<n; i++){
op[0].push_back(i+1);
}
int q=0;
while(true){
int cnt=0;
for(int j=0; j<n; j++){
for(int k=0; k+1<(int)op[j].size(); k+=2){
schedule(op[j][k], op[j][k+1]);
cnt++;
}
}
if(cnt==0) break;
if(q==v) answer({1, 2, 3});
vector<int> resp=visit();
q++;
int ind=0;
vector<vector<int> > op2(n);
for(int j=0; j<n; j++){
for(int k=0; k+1<(int)op[j].size(); k+=2){
if(resp[ind]){
op2[j].push_back(op[j][k]);
op2[j+1].push_back(op[j][k+1]);
}
else{
op2[j+1].push_back(op[j][k]);
op2[j].push_back(op[j][k+1]);
}
ind++;
}
if(op[j].size()%2==1){
op2[j].push_back(op[j][op[j].size()-1]);
}
}
op=op2;
}
vector<int> ans(n);
for(int i=0; i<n; i++){
assert(op[i].size()==1);
ans[i]=op[i][0];
}
answer(ans);
}
/*signed main(){
int n, v;
cin >> n >> v;
solve(n, v);
}*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |