厦大C语言上机 1384 卡片游戏
2018-01-11 10:24
429 查看
1384.卡片游戏
时间限制: 1000 MS 内存限制: 65536 K
提交数: 482 (0 users) 通过数: 256 (249 users)
问题描述
这一天,小明他们玩了一个游戏。每个人手中有n张卡片,每一张卡片上有一个整数,接着裁判给出一个整数k,然后每一个人需要选择两张卡片使得两张卡片上的数字之和为k,如果可以出卡片,那么打出这两张卡片。如果不行,那么就该下家出卡片。谁先出完卡片谁就是赢家。现在轮到小明出卡片了,不过由于卡片较多且卡片上数据较大,小明尽可能要在最短时间内决定能不能出卡片,因为其他玩家已经在嚷嚷“快点啊,我等得花儿都谢了!”
输入格式
第一行输入两个整数n、k,2<=N<=1000,0<K<=2,000,000,000。
第二行输入n个整数ai (0<ai<=1,000,000,000),代表n张卡片上的数。
输出格式
为了简单起见,(因为两张卡片数字之和为k的组合可能有多种)如果可以出卡片,则输出“Yes”;如果不能出卡片,则输出“No”(无引号)
样例输入
5 10
4 5 6 2 1
样例输出
Yes
来源
xmu
时间限制: 1000 MS 内存限制: 65536 K
提交数: 482 (0 users) 通过数: 256 (249 users)
问题描述
这一天,小明他们玩了一个游戏。每个人手中有n张卡片,每一张卡片上有一个整数,接着裁判给出一个整数k,然后每一个人需要选择两张卡片使得两张卡片上的数字之和为k,如果可以出卡片,那么打出这两张卡片。如果不行,那么就该下家出卡片。谁先出完卡片谁就是赢家。现在轮到小明出卡片了,不过由于卡片较多且卡片上数据较大,小明尽可能要在最短时间内决定能不能出卡片,因为其他玩家已经在嚷嚷“快点啊,我等得花儿都谢了!”
输入格式
第一行输入两个整数n、k,2<=N<=1000,0<K<=2,000,000,000。
第二行输入n个整数ai (0<ai<=1,000,000,000),代表n张卡片上的数。
输出格式
为了简单起见,(因为两张卡片数字之和为k的组合可能有多种)如果可以出卡片,则输出“Yes”;如果不能出卡片,则输出“No”(无引号)
样例输入
5 10
4 5 6 2 1
样例输出
Yes
来源
xmu
#include <stdio.h> #include <stdlib.h> int cmp(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main() { int n, k; int a[1005] = { 0 }; int i, j; int is_found; scanf("%d %d", &n, &k); for (i = 0; i < n; ++i) scanf("%d", &a[i]); qsort(a, n, sizeof(a[0]), cmp); i = 0; j = n - 1; is_found = 0; while (i < j) { if (a[i] + a[j] == k) { is_found = 1; break; } else if (a[i] + a[j] < k) ++i; else --j; } if (is_found) printf("Yes\n"); else printf("No\n"); return 0; }
相关文章推荐
- 厦大C语言上机 1390 伪ackerman函数
- 厦大C语言上机 1387 进制转换进阶版
- 厦大C语言上机 1488 判断素数
- 厦大C语言上机 1391 简单的几何问题
- 厦大C语言上机 1388 高精度乘法
- 厦大C语言上机 1489 变与不变
- 厦大C语言上机 1392 数组的平衡
- 厦大C语言上机 1490 高级模式匹配
- 厦大C语言上机 1393 哥德巴赫猜想的验证
- 厦大C语言上机 1491 子串删除
- 厦大C语言上机 1496 文件存数
- 厦大C语言上机 1394 抛硬币
- 厦大C语言上机 1401 寻找最大内角
- 厦大C语言上机 1492 破译时间密码
- 厦大C语言上机 1498 文件复制
- 厦大C语言上机 1395 组合
- 厦大C语言上机 1402 第K早之日
- 厦大C语言上机 1493 数据查找
- 厦大C语言上机 1500 归并排序
- 厦大C语言上机 1400 出队统计