70分TLE求调
查看原帖
70分TLE求调
1734119
_XiTeLaLi_楼主2025/7/1 13:36
#include<bits/stdc++.h>
using namespace std;
int cnt=0,a[10005],vis[100005],x,y;
void dfs(int cnt){
	int sum=0;
	if(cnt==y){
		for(int i=1;i<=y;i++){
			for(int j=i+1;j<=y;j++){
				if(a[i]>a[j]){
					sum++;
				}
			} 
		}
		if(sum==0){
			for(int i=1;i<=y;i++){
				cout<<setw(3)<<a[i];
			}
			cout<<endl;
			return;
		}
	}
	for(int i=1;i<=x;i++){
		if(vis[i]==0){
			vis[i]=1;
			a[cnt+1]=i;
			dfs(cnt+1);
			vis[i]=0;
		}
		
	}
} 
int main(){
	cin>>x>>y;
	dfs(0);
} 
2025/7/1 13:36
加载中...