一.题目描述
题目大意:
题目链接:
D. Divide and Equalize(Codeforces Round 903 (Div. 3))
二.思路分析
三.代码展示
//https://codeforces.com/contest/1881/problem/D
//分解所有的数,如果最后所有因子都是n的倍数,那就是yes
//
#include<iostream>
#include<algorithm>
#include<string>
#include<map>
#include<queue>
#include<vector>
#include<cstring>
#define int long long
using namespace std;
void solve()
{
map<int,int>mp;
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
for(int j=2;j*j<=a;j++)
{
while(a%j==0)
{
mp[j]++;
a/=j;
}
}
mp[a]++;
}
for(auto x:mp)
{
if(x.first<=1)
{
continue;
}
if(x.second%n!=0)
{
cout<<"NO"<<"\n";
return;
}
}
cout<<"Yes"<<"\n";
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
while(t--)
{
solve();
}
return 0;
}