等比数列构造者
题目描述
给定三个整数 。
你必须执行恰好一次如下操作:
- 选择一个非零整数 。
- 选择 中的一个数,将其乘以 。
操作完成后,你可以对这三个数进行任意重新排列。请判断是否存在一种选择方案(选择哪个数乘以哪个 ),使得最终得到的三个数可以构成一个等比数列。
一个包含三个数 的集合能构成等-比数列,当且仅当它们可以被排列成 的形式,满足 。
输入格式
输入包含多组测试数据。
第一行输入一个整数 ,表示测试数据的组数。
对于每组测试数据: 在一行上输入三个整数 。
输出格式
对于每组测试数据,输出一行。若存在可行的方案,输出 YES;否则输出 NO。
样例
样例输入
4
2 3 6
1 2 3
2 4 8
5 1 25
-2 -6 -18
4 6 3
0 1 2
样例输出
YES
NO
YES
YES
YES
YES
YES
提示
样例说明
- 对于
2 3 6:可以选择将2乘以6,得到集合{12, 3, 6}。这三个数可以排列成3, 6, 12,这是一个公比为 2 的等比数列()。因此输出YES。 - 对于
1 2 3:无法通过操作使其构成等比数列。 - 对于
2 4 8:这本身就是一个等比数列。我们可以选择将任意一个数乘以1,得到原数列,因此输出YES。 - 对于
4 6 3:可以选择将4乘以3,得到{12, 6, 3},可以排列成3, 6, 12。也可以选择将3乘以8得到{4, 6, 24},可以排列成4, \sqrt{96}, 24但公比不是有理数,这里不能这么理解。应该这么理解:将4乘以 可以得到 ,但是 必须是整数。重新考虑,4 6 3,乘以4一个 :4m, 6, 3,6^2 = 4m*3->36 = 12m->m=3,得到{12, 6, 3}。 - 对于
0 1 2:可以选择将1乘以0,得到{0, 0, 2}。这可以排列成2, 0, 0,满足 。因此输出YES。
数据范围与约定
对于 的数据,保证:
- 注意,操作中选择的乘数 可以是任意非零整数。
- 如果三个数中包含零,例如 ( 为任意数),也视为可以构成等比数列。
京公网安备11010802045784号