#include <bits/stdc++.h>
using namespace std;
#include "shoes.h"
int n;
long long count_swaps(std::vector<int> s) {
n=s.size()/2;
//next permutation
//es akkor megvan mibol kell mit
vector<int> ert(n);
int tart=0;
for(int i=0; i<2*n; i++)
{
if(s[i]>0) ert[tart++]=s[i];
}
sort(ert.begin(),ert.end());
int ans=1e9;
do
{
vector<int> cel(2*n);
for(int i=0; i<2*n; i+=2)
{
cel[i]=cel[i+1]=ert[i/2];
}
vector<int> curr=s;
int tmp=0;
for(int i=0; i<2*n; i++)
{
if(curr[i]==cel[i]) continue;
int ind=n;
for(int j=i+1; j<2*n; j++)
if(curr[j]==cel[i] && cel[j]!=cel[i])
{
ind=j;
break;
}
tmp++;
swap(curr[i],curr[ind]);
}
ans=min(ans,tmp);
}
while(next_permutation(ert.begin(),ert.end()));
return ans;
return 1LL;
}
/*int main() {
int n;
assert(1 == scanf("%d", &n));
vector<int> S(2 * n);
for (int i = 0; i < 2 * n; i++)
assert(1 == scanf("%d", &S[i]));
fclose(stdin);
long long result = count_swaps(S);
printf("%lld\n", result);
fclose(stdout);
return 0;
}*/
# | 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... |