CF776B Sherlock and his girlfriend
阿新 • • 發佈:2018-10-31
pla .org int targe sed eve 技術 play aps
CF776B Sherlock and his girlfriend
一個數和它的質因數不能同色。
素數的約數只有本身和1。
顯然所有素數都可以染同色,合數同理。
歐拉篩一篩。
註意特判n<3的情況。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define re register 5 using namespace std; 6 #define N 100002 7 int n,v[N],pri[N],cct;bool is[N];View Code8 int main(){ 9 for(int i=2;i<N;++i){ 10 if(!v[i]) is[v[i]=pri[++cct]=i]=1; 11 for(int j=1;j<=cct;++j){ 12 if(pri[j]>i||pri[j]*i>=N) break; 13 v[pri[j]*i]=pri[j]; 14 } 15 }scanf("%d",&n); 16 if(n<3){ 17 puts("1"); 18 for(int i=1;i<=n;++i) printf("1 "); 19 }else{ 20 puts("2"); 21 for(re int i=2;i<=n+1;++i) printf("%d ",(!is[i])+1); 22 } 23 return 0; 24 }
CF776B Sherlock and his girlfriend