fork download
  1.  
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. // 思路:三种情况
  6. // 1、所有等级都为k,不需要比赛都可以全部感染
  7. // 2、所有等级和为k的倍数,或者一开始就存在至少一个与k相同的等级,比赛一次即可
  8. // 3、否则,比赛两次即可
  9. int main() {
  10. int t;
  11. std::cin >> t;
  12. while (t--) {
  13. int n, k;
  14. std::cin >> n >> k;
  15. int cnt = 0, sum = 0;
  16. for (int i = 0; i < n; ++i) {
  17. int cur;
  18. std::cin >> cur;
  19. if (cur == k) cnt++;
  20. sum += cur;
  21. }
  22. if (cnt == n) {
  23. std::cout << 0 << std::endl;
  24. }
  25. else if (sum == k * n || cnt > 0) {
  26. std::cout << 1 << std::endl;
  27. }
  28. else {
  29. std::cout << 2 << std::endl;
  30. }
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0.01s 5312KB
stdin
1
2 0
1 -1
stdout
1