题目描述

原题来自:Codeforces Round #400 B.

Sherlock 有了一个新女友(这太不像他了!)。情人节到了,他想送给女友一些珠宝当做礼物。

他买了n  件珠宝。第i  件的价值是 i+1。那就是说,珠宝的价值分别为2,3,4,....,n+1 。

Watson 挑战 Sherlock,让他给这些珠宝染色,使得一件珠宝的价格是另一件的质因子时,两件珠宝的颜色不同。并且,Watson 要求他最小化颜色的使用数。

请帮助 Sherlock 完成这个简单的任务。

输入格式

只有一行一个整数n ,表示珠宝件数。

输出格式

第一行一个整数 k,表示最少的染色数;
第二行 n 个整数,表示第 1 到第 n 件珠宝被染成的颜色。若有多种答案,输出任意一种。

样例

样例输入 1

3

样例输出 1

2
1 1 2

样例输入 2

4

样例输出 2

2
2 1 1 2

样例说明

因为 2 是4  的一个质因子,因此第一件珠宝与第三件珠宝的颜色必须不同。

数据范围与提示

对于全部数据,n<=1e5。

_____________________________________________

每个值和它的质因子不能同色,而质数之间、合数之间是没有颜色限制的,所以,这不就是二分图染色嘛,而且不用染,直接质数一色,和数一色。

注意,n为1和2的情况,也就是只有2,3两个值,这时只有一种颜色。

_____________________________________________

 1 #include<bits/stdc++.h>
2 using namespace std;
3 typedef long long ll;
4 const ll maxn=100003;
5 int n;
6 bool zs[maxn];
7
8 void getss()
9 {
10 zs[0]=zs[1]=1;
11 for(int i=2;i<sqrt(maxn);++i)
12 {
13 if(zs[i]==0)
14 {
15 for(int j=i*i;j<maxn;j+=i)
16 zs[j]=1;
17 }
18 }
19 }
20 int main()
21 {
22 scanf("%d",&n);
23 getss();
24 if(n==1)
25 {
26 printf("1\n1");
27 }
28 else if(n==2)
29 {
30 printf("1\n1 1");
31 }
32 else
33 {
34 printf("2\n");
35 for(int i=2;i<n+2;++i)
36 printf("%d ",zs[i]?2:1);
37 }
38 return 0;
39 }

最新文章

  1. 架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)
  2. SpringMVC拦截器的使用
  3. asp.net 之 数据库导入treeview
  4. 拓扑排序 POJ 2367
  5. [AapacheBench工具]web性能压力测试工具的应用与实践
  6. 给debian安装xfce桌面套装
  7. ylbtech-SubwayNav(地铁线路导航)-数据库设计
  8. Java远程方法调用(RMI)
  9. postgresql 行转列,列转行后加入到一个整体数据
  10. 【巧妙算法系列】【Uva 11464】 - Even Parity 偶数矩阵
  11. Drupal7的theme函数执行顺序
  12. 初学 Python(十四)——生成器
  13. Qt中的坐标系统
  14. maven 集成tomcat6,tomcat7
  15. Xml二(解析思想)、
  16. pypthon 3.6.5 绘制柱状图中文乱码的基本、根本、高效之解决方案~
  17. Docker入门3------手动编辑自定义镜像
  18. MVC中html编码与否
  19. Dapper - .Net 环境下一个简单对象映射的框架
  20. Easyui入门视频教程 第03集---Easyui布局

热门文章

  1. css3 知识点积累
  2. 在Docker下进行MyCAT管理双主双从MySQL集群
  3. springboot源码解析-管中窥豹系列之Runner(三)
  4. SQL Server On Linux:基于实际项目案例,总结功能支持情况及相关问题解决方案,讲如何快速完成迁移
  5. 一些JavaSE学习过程中的思路整理(主观性强,持续更新中...)
  6. ansible 安装和使用
  7. 【Spring】Spring的事务管理 - 2、声明式事务管理(实现基于XML、Annotation的方式。)
  8. 2019 Eclipse的下载与安装教程
  9. zabbix自动发现主机并注册
  10. xtrabackup_binlog_info