仅是用来巩固训练verctor容器与is_sorted()、next_permutation()函数
#include <bits/stdc++.h>
using namespace std;
bool cmp1(int a,int b){
if(a>b)return true;
return false;
}
bool cmp2(int a,int b){
if(a<b)return true;
return false;
}
int main(){
vector<int> kn={2,5,3,6,3,6,7,3,7,8};
sort(kn.begin(),kn.end());
//for(int i=0;i<10;i++)cout<<kn[i];
long long ans=0;
do{
bool sign=0;
for(int i=1;i<=8;i++){
for(int j=i+1;j<=9;j++){
if((is_sorted(kn.begin(),kn.begin()+i,cmp1)||is_sorted(kn.begin(),kn.begin()+i,cmp2))
&&(is_sorted(kn.begin()+i,kn.begin()+j,cmp2)||is_sorted(kn.begin()+i,kn.begin()+j,cmp1))
&&(is_sorted(kn.begin()+j,kn.end(),cmp1)||is_sorted(kn.begin()+j,kn.end(),cmp2))){
sign=1;
}
}
}
if(sign==1)ans++;
}while(next_permutation(kn.begin(),kn.begin()+10));
cout<<ans;
return 0;
}