#include "machine.h"
#include <bits/stdc++.h>
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
using ll=long long;
bool ok(int n,int a,int b,int c){
int mp[8]={};
for(int i=0;i<n+1;i++)if(i^a&&i^b&&i^c)for(int j=0;j<8;j++)mp[j]+=(i>>j)&1;
for(int i:mp)if(i*2==n)return 0;
return 1;
}
vector<int>find_permutation(int n){
vector<int>t;
int yes=0;
for(int i=0;i<n+1&&!yes;i++)for(int j=i+1;j<n+1&&!yes;j++)for(int k=j+1;k<n+1&&!yes;k++)if(ok(n,i,j,k)){
yes=1;
for(int l=0;l<n+1;l++)if(l^i&&l^j&&l^k)t.push_back(l);
}
vector<int>t2=use_machine(t),perm;
int mp1[33]={},mp2[33]={},x=0;
for(int i:t)for(int j=0;j<30;j++)mp1[j]+=(i>>j)&1;
for(int i:t2)for(int j=0;j<30;j++)mp2[j]+=(i>>j)&1;
for(int i=0;i<30;i++)if(mp1[i]^mp2[i])x|=(1<<i);
for(int&i:t2)i^=x;
for(int i:t2)perm.push_back(lower_bound(t.begin(),t.end(),i)-t.begin());
return perm;
}
| # | 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... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |