# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
544575 | Rafi22 | Super Dango Maker (JOI22_dango3) | C++17 | 2533 ms | 724 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>
#include "dango3.h"
using namespace std;
#define endl '\n'
#define st first
#define nd second
#define pb push_back
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
#define ll long long
namespace {
ll mod=1000000007;
int inf=1000000007;
ll infl=1000000000000000007;
bool taken[407*27];
bool was[27];
} // namespace
void Solve(int n,int m)
{
srand(time(NULL));
vector<int>ord(n*m);
for(int i=0;i<n*m;i++) ord[i]=i+1;
random_shuffle(all(ord));
vector<int>ans[m];
for(auto x:ord)
{
memset(was,0,sizeof was);
while(true)
{
int i=rand()%m;
if(was[i]||sz(ans[i])==n) continue;
was[i]=1;
taken[x]=1;
for(auto y:ans[i]) taken[y]=1;
vector<int> Z;
for(int j=1;j<=n*m;j++) if(!taken[j]) Z.pb(j);
if(Query(Z)==m-1)
{
ans[i].pb(x);
for(auto y:ans[i]) taken[y]=0;
break;
}
for(auto y:ans[i]) taken[y]=0;
taken[x]=0;
}
}
for(int i=0;i<m;i++)
{
Answer(ans[i]);
}
}
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... |