# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
967296 | mdobric | Zagonetka (COI18_zagonetka) | C++11 | 3 ms | 432 KiB |
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 <bits/stdc++.h>
using namespace std;
int n, p[105];
int a[10];
vector <int> ans1, ans2;
int main (void){
cin >> n;
for (int i = 0; i < n; i++){
cin >> p[i];
a[i] = i + 1;
}
if (n <= 6){
do{
cout << "query ";
for (int i = 0; i < n; i++){
cout << a[i] << " ";
}
cout << endl;
cout.flush();
int ans;
cin >> ans;
if (ans == 1){
if (ans1.size() == 0){
for (int i = 0; i < n; i++){
ans1.push_back(a[i]);
}
}
ans2.clear();
for (int i = 0; i < n; i++){
ans2.push_back(a[i]);
}
}
}while(next_permutation(a, a + n));
cout << "end" << endl;
for (int i = 0; i < n; i++){
cout << ans1[i] << " ";
}
cout << endl;
cout.flush();
for (int i = 0; i < n; i++){
cout << ans2[i] << " ";
}
cout << endl;
cout.flush();
}
else{
int x = -1, y;
for (int i = 0; i < n; i++){
for (int novi_pos = i + 1; novi_pos < n; novi_pos++){
cout << "query ";
for (int j = 0; j < i; j++){
cout << p[j] << " ";
}
for (int j = i + 1; j <= novi_pos; j++){
cout << p[j] << " ";
}
cout << p[i] << " ";
for (int j = novi_pos + 1; j < n; j++){
cout << p[j] << " ";
}
cout << endl;
cout.flush();
int ans;
cin >> ans;
if (ans == 1){
x = i;
y = novi_pos;
break;
}
}
if (x != -1){
break;
}
}
cout << "end" << endl;
if (p[y] < p[x]){
for (int i = 1; i <= n; i++){
cout << i << " ";
}
cout << endl;
cout.flush();
int manje = 0;
for (int i = 0; i < n; i++){
if (i == x){
manje = 1;
}
if (i == y){
cout << n - x << " ";
manje = 0;
}
else{
cout << n - i - manje << " ";
}
}
cout << endl;
cout.flush();
}
else{
int manje = 0;
for (int i = 0; i < n; i++){
if (i == x){
manje = 1;
}
if (i == y){
cout << x + 1 << " ";
manje = 0;
}
else{
cout << i + manje + 1 << " ";
}
}
cout << endl;
cout.flush();
for (int i = 1; i <= n; i++){
cout << n - i + 1 << " ";
}
cout << endl;
cout.flush();
}
}
return 0;
}
Compilation message (stderr)
# | 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... |