2 条题解

  • -1
    @ 2023-12-17 11:45:13

    #include<bits/stdc++.h>

    using namespace std;

    int a[101],b[101],n,k; void check(int dep){

    if(dep>n){
    
    
    	if(b[1]==k){
    		for(int i=1;i<n;i++)cout<<a[i]<<" ";
    
    		cout<<a[n];
    
    		exit(0);
    
    	}
    
    	return;
    
    }
    
    for(int i=1;i<=n-dep+1;i++)b[i]=b[i]+b[i+1];
    
    check(dep+1);
    

    }

    int main(){

    cin>>n>>k;
    
    for(int i=1;i<=n;i++)a[i]=i;
    
    do{
    
    	for(int i=1;i<=n;i++)b[i]=a[i];
    
    	check(2);
    
    }while(next_permutation(a+1,a+1+n));
    
    return 0;
    

    } //zhaochenhe //绝对不会错,我说的

    信息

    ID
    783
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    21
    已通过
    11
    上传者