# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
315792 | daniel920712 | Mouse (info1cup19_mouse) | C++14 | 2244 ms | 129676 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 <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include "grader.h"
using namespace std;
vector < int > how;
bool have[500]={0};
bool have2[500]={0};
int xx[500];
map < vector < int > , int > all;
int Query(vector < int > tt)
{
if(all.find(tt)==all.end()) all[tt]=query(tt);
return all[tt];
}
void solve(int N)
{
int a,b,c,now,i,j,jj,kk,k,ok,where,cc;
how.clear();
for(i=0;i<N;i++)
{
how.push_back(i+1);
have[i+1]=0;
xx[i+1]=i+1;
}
random_shuffle(xx+1,xx+N+1);
for(jj=1;jj<=N;jj++)
{
j=xx[jj];
if(!have[j])
{
how[0]=j;
now=0;
for(kk=1;kk<=N;kk++)
{
k=xx[kk];
if(!have[k]&&k!=j)
{
how[now+1]=k;
now++;
}
}
}
a=Query(how);
if(a==N) return;
ok=1;
where=-1;
for(k=1;k<N;k++)
{
swap(how[0],how[k]);
b=Query(how);
if(b==N) return;
swap(how[0],how[k]);
if(a>b)
{
where=k;
continue;
}
else
{
ok=0;
break;
}
}
if(ok)
{
have[how[0]]=1;
have2[0]=1;
cc=0;
break;
}
else if(where!=-1)
{
have[how[where]]=1;
have2[where]=1;
cc=where;
break;
}
}
//printf("%d %d\n",cc,how[cc]);
for(i=0;i<N;i++)
{
if(i==cc) continue;
for(jj=1;jj<=N;jj++)
{
j=xx[jj];
if(!have[j])
{
how[i]=j;
now=0;
for(kk=1;kk<=N;kk++)
{
k=xx[kk];
if(!have[k]&&k!=j)
{
if(i+now+1==cc) now++;
if(i+now+1==N) continue;
how[i+now+1]=k;
now++;
}
}
}
a=Query(how);
if(a==N) return;
swap(how[i],how[cc]);
b=Query(how);
if(b==N) return;
swap(how[i],how[cc]);
if(a-b==2)
{
have[how[i]]=1;
break;
}
}
}
}
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... |