5 条题解

  • 0
    @ 2024-4-11 18:47:51
    #include<bits/stdc++.h>
    #define int long long 
    #define endl '\n'
    using namespace std;
    int n,r;
    int nums[10];
    bool st[10];
    int ans[10];
    bool flag = true;
    void dfs(int accounts){
    	if(accounts == r){
    		for(int i = 0; i < r - 1;i++){
    			if(ans[i] > ans[i+1]){
    			flag = false;
    		}
    		}
    		if(flag == true){
    		for(int i = 0;i < r;i++){
    			cout<<ans[i]<<" ";
    		}
    		cout<<endl;
    	}
    	flag = true;
    		return ;
    	}
    	for(int i = 0;i < n;i++){
    		if(st[i] == false){
    		ans[accounts] = nums[i];
    		st[i] = true;
    		dfs(accounts+1);
    		st[i] = false;
    		}
    	}
    	return ;
    }
    signed main(){
    	ios::sync_with_stdio(0);
    	cin.tie(0);
    	cout.tie(0);
    	cin>>n;
    	cin>>r;
    	for(int i = 0;i < n;i++){
    		cin>>nums[i];
    	}
    	sort(nums,nums+n);
    	dfs(0);
    	return 0;
    }
    

    信息

    ID
    83
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    278
    已通过
    104
    上传者