挑战程序设计:抽签

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35175481/article/details/52719388

抽签

你的朋友建议玩一个游戏:将写有数字的 个纸片放入口袋中,你可以从口袋中抽取4次纸片,每次记下纸片上的数字后都将其放回口袋中。如果这4个数字的和是 m ,就是你赢,否则就是你朋友赢。你挑战了好几回,结果一次也没赢过,于是怒而撕破口袋,取出所有纸片,检查自己是否真的有赢的可能性。
请你编程写一个程序,判断当纸片上所写的数字是k1,k2.,k3……kn时,是否存在抽取4次和为m的方案。如果存在,输出Yes;否则输出No。
难过限制条件
1 <= n <= 50
1 <= m <=10**8
1 <= ki <=10**8
#include<cstdio>
const int Max_N = 50;

int main()
{
	int m, n, k[Max_N];
	int i;
	scanf("%d %d", &n, &m);
	for (i = 0; i < n; i++)
	{
		scanf("%d", &k[i]);
	}
	bool f = false;
	for (int a = 0; a < n; a++)
	{
		for (int b = 0; b < n; b++)
		{
			for (int c = 0; c < n; c++)
			{
				for (int d = 0; d < n; d++)
				{
					if (k[a] + k[b] + k[c] + k[d] == m)
					{
						f = true;
					}
				}
			}
		}
	}
	if (f)
		puts("Yes");
	else
		puts("No");
    return 0;
}






展开阅读全文

没有更多推荐了,返回首页