问题 5097 --昕旸的新课题

5097: 昕旸的新课题★★★

时间限制: 2 Sec  内存限制: 256 MB
提交: 15  解决: 7
[提交][状态][命题人:]

题目描述

昕旸爸爸是数学老师,从小就对他进行了很多很多的数学思维的熏陶。

最近昕旸爸爸给昕旸提出了一个新的课题,让他好好钻研:

n个整数 a1,a2,...,an的数组,昕旸可以任意次数地应用以下操作:

选择一个索引 i(1≤i≤n),并将元素ai的值替换为值 ai+(ai mod 10),其中 ai mod 10是将ai除以 10 的余数。

对于单个索引(值i),可以多次应用此操作。如果将运算重复应用于同一个数,则每次都会考虑 ai 的当前最新值。

例如,如果ai=47,则在第一次操作后,得到 ai=47+7=54,在第二次操作之后,得到 ai=54+4=58。

检查是否可以通过应用多个(可能为零)操作使所有数组元素相等。

例如,昕旸有一个数组 [6,11]。将此操作应用于数组的第一个元素,即将 a1=6 替换为 a1+(a1 mod 10)=6+(6 mod 10)=6+6=12,得到数组 [12,11]。

然后将此操作应用于数组的第二个元素。将 a2=11 替换为 a2+(a2 mod 10)=11+(11 mod 10)=11+1=12,得到数组 [12,12]。

因此,通过应用 2 个操作,可以使数组的所有元素相等。

不需要找到最小操作次数,只判断能否使数组元素变成相同,能输出Yes,不能输出No。

输入

第一行包含一个整数 t(1≤t≤10^4) — 测试用例的数量。以下是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n (1≤n≤2*10^5) — 数组的大小。每个测试用例的第二行包含 n 整数 ai (0≤ai≤10^9) — 数组元素。保证所有测试用例的 n之和不超过 2*10^5。

输出

对于每个测试用例:如果可以使所有数组元素相等,输出Yes;
否则输出No。

样例输入
Copy
10
2
6 11
3
2 18 22
5
5 10 5 10 5
4
1 2 4 8
2
4 5
3
93 96 102
2
40 6
2
50 30
2
22 44
2
1 5
样例输出
Copy
Yes
No
Yes
Yes
No
Yes
No
No
Yes
No

提示

来源

[提交][状态]