Submission #500493

#TimeUsernameProblemLanguageResultExecution timeMemory
500493KhizriArranging Shoes (IOI19_shoes)C++17
10 / 100
1081 ms1048580 KiB
#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;
int res=1e7;
map<vector<int>,int>mp;
bool check(vector<int>&vt){
    for(int i=0;i<vt.size();i+=2){
        if(vt[i]<0&&vt[i+1]>0&&abs(vt[i])==vt[i+1]){

        }
        else{
            return false;
        }
    }
    return true;
}
void funk(vector<int>vt,int ans,int u,int v){
    if(u!=v){
        swap(vt[u],vt[v]);
        ans++;
    }
    if(check(vt)){
        res=min(res,ans);
        return;
    }
    if(mp[vt]>0&&mp[vt]<=ans) return;
    mp[vt]=ans;
    for(int i=0;i<vt.size()-1;i++){
        funk(vt,ans,i,i+1);
    }
}
long long count_swaps(vector<int> s) {
	if(s.size()<=8){
        funk(s,1,-1,-1);
        return res-1;
	}
}

Compilation message (stderr)

shoes.cpp: In function 'bool check(std::vector<int>&)':
shoes.cpp:7:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 |     for(int i=0;i<vt.size();i+=2){
      |                 ~^~~~~~~~~~
shoes.cpp: In function 'void funk(std::vector<int>, int, int, int)':
shoes.cpp:28:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |     for(int i=0;i<vt.size()-1;i++){
      |                 ~^~~~~~~~~~~~
shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:37:1: warning: control reaches end of non-void function [-Wreturn-type]
   37 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...