zoukankan      html  css  js  c++  java
  • codevs 1008 选数

    时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 黄金 Gold
    题目描述 Description

    已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:
        3+7+12=22  3+7+19=29  7+12+19=38  3+12+19=34。
      现在,要求你计算出和为素数共有多少种。
      例如上例,只有一种的和为素数:3+7+19=29)。

    输入描述 Input Description

     键盘输入,格式为:
      n , k (1<=n<=20,k<n)
      x1,x2,…,xn (1<=xi<=5000000)

    输出描述 Output Description

    屏幕输出,格式为:
      一个整数(满足条件的种数)。

    样例输入 Sample Input

    4 3
    3 7 12 19

    样例输出 Sample Output

    1

    数据范围及提示 Data Size & Hint

    (1<=n<=20,k<n)
    (1<=xi<=5000000)

    传送门 

    dfs

    #include<iostream>
    #include<cstring>
    
    using namespace std;
    
    int a[30]={0},c[30],n,m,minn,tot=0,l=0;
    bool b[30];
    int su(int x)
    {
    	int j;
    	j=2;
    	while(j*j<x&&x%j!=0)
    	j++;
    	if(j*j>x)
    	return 1;
    	else
    	return 0;
    }
    void zcl(int k,int t,int l)
    {
    	int i;
    	if(l>=m)
    	{
    		if(su(t)==1)
    		tot++;
    		return;
    	}
    	for(i=k+1;i<=n;++i)
    	zcl(i,t+a[i],l+1);
    }
    int main()
    {
    	memset(b,0,sizeof(b));
    	cin>>n>>m;
    	for(int i=1;i<=n;i++)
    	cin>>a[i];
    	zcl(0,0,0);
    	cout<<tot;
    	return 0;
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    2011年全球手机市场十大事件
    异地求学催生网卖“生活费” 家长称不听话退款
    pygame库常用
    pygame_鼠标事件
    在Python和Django模板系统中的真值
    Django seeting配置(一)
    Django数据库配置
    转载CSS boxflex属性(弹性盒子模型)
    java volatile变量
    并发资料收集
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6219015.html
Copyright © 2011-2022 走看看