#include "sorting.h"
#include <vector>
using namespace std;
int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
int next, first;
bool already_sorted;
vector<int> ns(N);
for(int i=0; i<N; i++){
ns[i] = S[i];
}
for(int c=0, i; true; c++){
for(int j=0; j<N; j++){
if(j>0){
if(ns[j-1] > ns[j]){
already_sorted=false;
}
}
}
if(already_sorted){
return c;
}
// Jerry swap or whatever it's called
swap(ns[0], ns[1]);
for(int j=0; j<N; j++){
if(ns[j] == i){
next = j;
}
}
if(c>=N){i=N-1;}
else{i=c;}
already_sorted=true;
first = ((i==1)?0:i);
P[i] = first;
Q[i] = next;
swap(ns[first], ns[next]);
// we have "swapped" positions `i` and `trans[i]`. whatever that means.
}
/*for(auto x:ns){
cout<<x<<" ";
}cout<<"\n\n";*/
return N;
}
# | 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... |