#include "dango3.h"
#include <bits/stdc++.h>
using namespace std;
map<vector<int>,int>vis;
// int query(vector<int>z)
// {
// sort(begin(z),end(z));
// if (vis.find(z)!=vis.end())
// return vis[z];
// vis[z]=Query(z);
// return vis[z];
// }
bool com(vector<int>a,vector<int>b)
{
return a.size()>b.size();
}
void Solve(int n, int m)
{
vector<vector<int>>ans;
ans.push_back({n*m});
vector<int>que;
for (int i=1;i<=n*m-2;i++)
que.push_back(i);
int pre=m-1;
while (que.size())
{
int z=Query(que);
int f=que.back();
if (z==pre-1)
{
// cout<<ans.size()<<' '<<f+1<<endl;
ans.push_back({f+1});
pre=z;
}
else
{
vector<int>g=que;
for (auto i:ans)
for (auto j:i)
g.push_back(j);
int e=Query(g);
int x=e-pre;
ans[x].push_back(f+1);
}
sort(begin(ans),end(ans),com);
que.pop_back();
}
for (auto& i:ans)
{
if (i.size()!=n)
i.push_back(1);
}
for (auto i:ans)
Answer(i);
}
| # | 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... |