问题描述 |
---|
在一个数组中,想要看看是否有三个元素之和等于x,并且要知道总共有多少种不同的选择方法。注意,若a[i]、a[j]、a[k]之和等于x,称为一种选择方法,此时还是这三个下标的元素,调换顺序,例如a[j]、a[k]、a[i]不能称为另一种不同的选择方法。 |
输入描述 |
多组案例。一个正整数n,表示案例的数量。(n<=100) 每组案例先是两个正整数m和x,分别表示数组元素的个数,以及【问题描述】中的x。(3<=m<=100,|x|<=10000) 然后是m个整数。(绝对值均不大于10000) |
输出描述 |
针对每组案例,如果数组中存在三个元素的和等于x,则输出Yes,然后输出一个空格,后面输出一个整数,表示有多少种不同的选择方法;否则输出No。 每组案例输出完要换行。 |
样例输入复制样例 |
2 4 10 1 2 3 4 5 10 1 2 3 4 5 |
样例输出 |
No Yes 2 |
来源 |
2021级C++上机考 |