#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include "grader.h"
using namespace std;
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)
{
vector<int> fnl(n+2);
vector < int > qry;
for(int i=1;i<=n;i++)
{
qry.push_back(i);
}
for(int i=0;i<n;i++)
{
int init=Query(qry);
if(init==n)
{
return;
}
for(int j=0;j<n;j++)
{
if(i==j)continue;
swap(qry[i],qry[j]);
if(Query(qry)>init)
{
init=Query(qry);
if(Query(qry)==n)
return;
continue;
}
swap(qry[i],qry[j]); // reverse swap if not better
}
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |