#include <iostream>
#include <vector>
#include "grader.h"
using namespace std;
const int maxN = 326;
int ans[maxN], ANS[maxN], N;
bool has[maxN];
/*
int query(vector<int> q){
int ans = 0;
//cout << "Asking: ";
for(int i = 1; i <= N; i++){
//cout << q[i] << " ";
ans += (q[i] == ANS[i]);
}
//cout << endl;
return ans;
}
*/
void solve(int N){
vector<int> q;
for(int i = 0; i < N; i++){
fill(has, has + N + 1, false);
vector<int>().swap(q);
for(int j = 0; j < i; j++){
q.push_back(ans[j]);
has[ans[j]] = true;
}
for(int j = 1; j <= N; j++) if(!has[j]){
q.push_back(j);
}
int baseline = query(q), asked = i;
if(baseline == N) return;
for(int j = i + 1; j < N; j++){
swap(q[j], q[i]);
int res = query(q);
if(res == N) return;
if(res > baseline){
asked = j;
baseline = res;
}
swap(q[j], q[i]);
}
//cout << "ans[" << i << "] = " << q[asked] << endl;
ans[i] = q[asked];
}
vector<int>().swap(q);
q.resize(N);
for(int i = 0; i < N; i++) q[i] = ans[i];
query(q);
}
/*
int main(){
cin >> N;
for(int i = 1; i <= N; i++) cin >> ANS[i];
solve(N);
}
*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
256 KB |
Unexpected end of file - int32 expected |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
256 KB |
Unexpected end of file - int32 expected |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
256 KB |
Unexpected end of file - int32 expected |
2 |
Halted |
0 ms |
0 KB |
- |