#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> p;
bool query(vector<int> q) {
cout << "query";
for (int i = 1; i <= n; i++) cout << " " << q[i];
cout << endl;
bool ret;
cin >> ret;
return ret;
}
vector<vector<int>> edge, revedge;
void addedge(int u, int v) {
edge[u].push_back(v);
revedge[v].push_back(u);
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
p = vector<int>(n+1);
for (int i = 1; i <= n; i++) cin >> p[i];
edge = vector<vector<int>>(n+1);
revedge = vector<vector<int>>(n+1);
vector<vector<int>> can;
vector<int> cur(n+1);
iota(cur.begin(), cur.end(), 0);
do {
if (query(cur)) can.push_back(cur);
} while (next_permutation(cur.begin()+1, cur.end()));
cout << "end\n";
for (int i = 1; i <= n; i++) cout << can[0][i] << " ";
cout << "\n";
for (int i = 1; i <= n; i++) cout << can.back()[i] << " ";
cout << endl;
return 0;
}
/*
4
3 2 1 4
*/
/*
1
0
0
0
*/
# | 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... |