1 条题解

  • 1
    @ 2025-2-19 13:38:54

    C1000 有趣的小球题解

    #include <iostream>
    #include <bits/stdc++.h>
    using namespace std;
    
    const int modd=1e9+7;
    
    int n,p,q,k,cnt;
    int a[100];
    
    void dfs(int x,int sum){
    	if (x==n+1){
    		if (sum>=k)	cnt++,cnt%=modd;
    		return ;
    	}
    	if (a[x]==0)	dfs(x+1,sum+p);
    	else	dfs(x+1,sum+q);
    	dfs(x+1,sum);
    }
    
    int main(){
    	cin>>n>>p>>q>>k;
    	for (int i=1;i<=n;i++)	cin>>a[i];
    	dfs(1,0);
    	cout<<cnt;
    }
    
    • 1

    信息

    ID
    137
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    3
    已通过
    2
    上传者