题目大意:对一个数组排序,但基本操作是翻转(使倒序)前k个元素(k可以是0到n-1(n为数组元素个数))。
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int n;
int jacks[40];
void turn(int k){//k:0~n-1,翻转
int temp[40];
for (int i=0;i<=k;i++){
temp[i]=jacks[k-i];
}
memcpy(jacks,temp,(k+1)*sizeof (int));
}
int getmax(int m){//找到jacks[0]到jacks[m]中最大值得下标
int max=-99999;
int in;
for (int i=0;i<=m;i++){
if (max<jacks[i]){
in=i;
max=jacks[i];
}
}
return in;
}
void sort(){
for (int