P8550 冬之花 题解
JackMerryYoung · · 题解
前言
月赛 2A, 奇特分类讨论。
正文
首先发现如果有两个不一样的数,答案必为 Yes.
证明:若
其他情况可以划归。
那么继续考虑剩下的问题。发现数字同号时答案也为 Yes, 因为无论怎么加符号都不变,
然后还有一种就是两数同号但是
于是剩下来的情况都是 No, 那么这道题就解决啦。
对赛时的大部分代码的 Hack:
Input:
1
2 6
-2 -3
Output:
Yes
代码
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define rint register int
int T;
signed main()
{
cin >> T;
for(int i = 1; i <= T; ++ i)
{
int N, X, t;
bool neq = false;
cin >> N >> X;
for(int j = 1; j <= N; ++ j)
{
int tmp;
cin >> tmp;
if(j == 1) t = tmp;
if(j != 1 && tmp != t) neq = true;
}
if(neq) puts("Yes");
else if(t > 0 && X > 0) puts("Yes");
else if(t < 0 && X < 0) puts("Yes");
else if(X % t != 0) puts("Yes");
else puts("No");
}
return 0;
}
后言
感谢出题人。