1 条题解

  • 0
    @ 2025-8-24 23:04:26

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar cff_0102
    & aqua_qaq | 团子群 185800038 | 如果我死了说明我 AFO 了

    搬运于2025-08-24 23:04:26,当前版本为作者最后更新于2024-09-28 01:19:51,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    注意到若 x=p×yx=p\times y,则 xxyy 的质因数个数必然相差一。任意两个同一颜色的元素 xxyy 不能满足这个条件,即任意两个同一颜色的元素 xxyy 的质因数个数之差不能是 11

    将数组中的数分解质因数,然后按照质因数个数的奇偶性分成两类涂色即可。

    #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
    10808
    时间
    1000ms
    内存
    512MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者