CF1881D 质因数分解与重新分配
题目
You are given an array
- Choose a pair of elements
and ( and ); - Choose one of the divisors of the integer
, i.e., an integer such that ; - Replace
with and with .
Determine whether it is possible to make all elements in the array the same by applying the operation a certain number of times (possibly zero).
For example, let's consider the array
- Choose
and , . Replace with , and with . The resulting array is = [ ]; - Choose
and , . Replace with , and with . The resulting array is = [ ].
After performing these operations, all elements in the array
https://codeforces.com/contest/1881/problem/D
Input
The first line of the input contains a single integer
Then follows the description of each test case.
The first line of each test case contains a single integer
The second line of each test case contains exactly
It is guaranteed that the sum of
7
5
100 2 50 10 1
3
1 1 1
4
8 2 4 2
4
30 50 27 20
2
75 40
2
4 4
3
2 3 1
Output
For each test case, output a single line:
- "YES" if it is possible to make all elements in the array equal by applying the operation a certain (possibly zero) number of times;
- "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes", and "YES" will all be recognized as a positive answer).
YES
YES
NO
YES
NO
YES
NO
题解
解题思路
显然这是一道数论题,我们观察到,无论怎么进行操作,总数的积不变;
那么操作的本质就是质因数的分解和重新分配,只需让相同质因数的个数是
Code
#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false); cin.tie(nullptr);
using namespace std;
typedef long long LL;
signed main(){
IOS;
int _;cin>>_;
while(_--){
int n;cin>>n;
map<int,int> mp;
//质因数分解
auto f=[&](int x){
for(int i=2;i<=sqrt(x);i++){
while(x%i==0){
mp[i]++;
x/=i;
}
}
if(x>1) mp[x]++;
};
for(int i=1;i<=n;i++){
int t;cin>>t;
f(t);
}
bool fl=0;
for(auto i:mp){
auto t=i.second;
if(t%n!=0){
cout<<"NO"<<endl;
fl=1;break;
}
}
if(!fl) cout<<"YES"<<endl;
}
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】