1 条题解
-
0
注意到若 ,则 和 的质因数个数必然相差一。任意两个同一颜色的元素 和 不能满足这个条件,即任意两个同一颜色的元素 和 的质因数个数之差不能是 。
将数组中的数分解质因数,然后按照质因数个数的奇偶性分成两类涂色即可。
#include<bits/stdc++.h> using namespace std; int pf(int x){//质因数个数 int cnt,now=2; while(x!=1){ if(x%now==0)cnt++,x/=now; else now++; if(now*now>x)now=x; } return cnt; } int main(){ ios::sync_with_stdio(0);cin.tie(0); int n;cin>>n; for(int i=0;i<n;i++){ int a;cin>>a; if(pf(a)%2)cout<<1<<" "; else cout<<2<<" "; } return 0; }
- 1
信息
- ID
- 10307
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者