卡片游戏
描述
这一天,小明他们玩了一个游戏。
每个人手中有n张卡片,每一张卡片上有一个整数,接着裁判给出一个整数k,然后每一个人需要选择两张卡片使得两张卡片上的数字之和为k,如果可以出卡片,那么打出这两张卡片。如果不行,那么就该下家出卡片。谁先出完卡片谁就是赢家。
现在轮到小明出卡片了,不过由于卡片较多且卡片上数据较大,小明尽可能要在最短时间内决定能不能出卡片,因为其他玩家已经在嚷嚷“快点啊,我等得花儿都谢了!”
输入
第一行输入两个整数n、k,2 \le n \le 1000, 0 \lt K \le 2,000,000,0002≤n≤1000,0<K≤2,000,000,000。
第二行输入n个整数ai (0 \lt ai \le 1,000,000,0000<ai≤1,000,000,000),代表n张卡片上的数。
输出
为了简单起见,(因为两张卡片数字之和为k的组合可能有多种)如果可以出卡片,则输出“Yes”;如果不能出卡片,则输出“No”(无引号)
输入样例 1
5 10 4 5 6 2 1
输出样例 1
Yes
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n;
scanf("%d %d",&m,&n);
int a[m],count=0;
for(int i=0;i<m;i++)
scanf("%d ",&a[i]);
for(int j=0;j<m-1;j++)
for(int k=j;k<m;k++)
if(a[j]+a[k]==n)
{
count++;break;
}
if(count>0) printf("Yes");
else printf("No");
return 0;
}