C语言编程,求解答算术游戏:
某同学参加一个算术纸牌游戏。游戏开始时,每个人被分配n张纸牌,每一张纸牌上有一个正整数。该同学习惯将手中的牌按大小顺序排序。
接着裁判给出一个整数k,然后每一个人需要选出两张数字之和为k的纸牌,如果可以选出,则打出这两张纸牌;如果不行,则说NO 。最后将剩余的牌按非递减顺序显示。
请你编程决定能否出牌,并按要求输出结果。
输入:
第一行输入两个整数n、k(5<n<1000,0<k<2000)
第二行输入n个整数ai (0<ai<1000),代表n张纸牌上的数。
输出:
如果可以出纸牌,则输出纸牌上的数字 。(两个数字之和为k的组合可能有多种,只需输出其中一个)
如果不能出纸牌,则输出 No 。
然后输出剩余的牌,按非递减顺序 。
输入样例1:
6 16
5 2 1 7 3 8
输出样例1:
出:NO
余牌:1 2 3 5 7 8
输入样例2:
7 100
45 52 55 21 79 16 55
输出样例2:
出:21 79
余牌:16 45 52 55 55a