Submission #1319642

#TimeUsernameProblemLanguageResultExecution timeMemory
1319642Muhammad_AneeqSuper Dango Maker (JOI22_dango3)C++20
0 / 100
329 ms928 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...