9 条题解

  • 2
    @ 2025-7-23 9:14:19
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    const int N=1e5+10;
    const int INF=0x3f3f3f3f;
    int n,m,ans;
    bool v[N];
    void dfs(int num,int c){
    	if(c==0){
    		ans++;
    		return;
    	}
    	if((n-num+1)/2<c){
    		return;
    	}
    	for(int i=num+2;i<=n;i++){
    		if(v[i]==0){
    			v[i]=1;
    			dfs(i,c-1);
    			v[i]=0;
    		}
    	}
    }
    signed main(){
    	cin>>n>>m;
    	dfs(-1,m);
    	cout<<ans;
        return 0;
    }
    
    

    信息

    ID
    1484
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    264
    已通过
    88
    上传者