CodeForces - 574C
根据唯一分解定理每一个数都可以表示成(2p13p2~~~~~~~~~),因为可以每次可以乘无数个二或无数个3,所以只需要将每个数中含有的2和3全部除掉,只要剩下的部分相同就可以完成了。
#include<iostream>
#include<vector>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<set>
#define maxn 5000
using namespace std;
int main(){
int n;
cin>>n;
set<int>a;
bool f=0;
for(int i=0;i<n;i++){
int x;
cin>>x;
while(x%2==0){
x/=2;
}
while(x%3==0){
x/=3;
}
a.insert(x);
if(a.size()>1){
f=1;
break;
}
}
if(f)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
return 0;
}