求助!自己测试没错但是全WA
查看原帖
求助!自己测试没错但是全WA
522135
山迟暮楼主2021/7/29 09:04
#include<bits/stdc++.h>
using namespace std;
int b[145];
void panduan(int a[],int n){
	int p;
	for(p = n-1;p >= 1&&a[p] > a[p+1];p--);
	if(p<=0) return;
	for(int i = p+1,j = n; i<=j;i++,j--) swap(a[i],a[j]);//单调递减转换为单调递增
	for(int i = p+1;i <= n;i++){
	    if(a[i]>a[p]) {
            swap(a[i],a[p]);
            break;
	    }
	} 
	for(int i = 1; i <= n; i++) cout << a[i]<<"    ";
	cout << endl;
	panduan(a,n); 
} 

int main(){
	int n;
	cin>>n;
	for(int i = 1;i <=n;i++) b[i] = i;
	panduan(b,n);
	return 0;
} 
2021/7/29 09:04
加载中...