1 条题解

  • 0
    @ 2025-10-10 19:24:14

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int a[1000],mod=1e8,n,m,f;
    //选择的当前编号,目前的和
    void nw(int k,int s)
    {	
    	//如果数组越界返回 
    	if(k>n)
    	{
    		return;
    	} 
    	//对当前的和求余 
    	s%=mod;
    	//往后循环遍历 
    	for(int i=k;i<=n;i++)
    	{
    		if((s+a[i]%mod)%f==0)
    		{
    			m++;
    		}
    		nw(i+1,s+a[i]%mod);
    	}
    }
    int main()
    {
    	cin>>n>>f; 
    	for(int i=1;i<=n;i++)
    	{
    		cin>>a[i];
    	}
    	//数组第一个开始 
    	nw(1,0);
    	//输出方案数 
    	cout<<m;
    	return 0;
    }
    
    
    • 1

    信息

    ID
    715
    时间
    1000ms
    内存
    512MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者