LOJ10201
题目描述
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 }
LOJ10201的更多相关文章
- 素数与Miller-Rabin测试
素数及其性质 素数又称质数.指整数在一个大于 111 的自然数中,除了 111 和此整数自身外,没法被其他自然数整除的数. 性质1 有无穷多个素数. 证明: 用反证法.设已知的最大素数为 PPP,考虑 ...
随机推荐
- easyui中给table列表中加序号
$('#xyData_healthList').datagrid({ width: 'auto', height: 'auto', striped: true, fit: true, paginati ...
- CODING 静态网站服务升级,快速、稳定、高拓展!
CODING 静态网站拥有强大的页面托管服务,目前已有数万开发者.设计师.产品经理.团队与企业使用 CODING 静态网站托管了他(她)们的个人网站.博客.企业与产品官网.在线文档等.CODING 静 ...
- 图解 Java 数据结构
图解Java数据结构: 一.链表 Java ListNode https://www.cnblogs.com/easyidea/p/13371863.html 二.栈 ...
- Docker安装系列教程
首先准备一台Centos7版本的虚拟机,它支持docker容器技术.本案例使用centos7虚拟机安装docker容器. 一.安装 1.启动虚拟机,配置虚拟机能够访问互联网 2. 安装支持软件包,提供 ...
- [ABP教程]第一章 创建服务端
Web应用程序开发教程 - 第一章: 创建服务端 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发 ...
- JVM--理解介绍
JVM?JDK?JRE?关系? JDK(Java Development Kit),它是实际上存在的,它包含JRE+编译.运行等开发工具. JRE(Java Runtime Environment), ...
- Label_table
<table border(边框) = "" width = height = align = bordercolor(边框色) = cellspacing 表格边框与单元格 ...
- VRP CommandLines
<> 用户视图 通过 system-view 进入系统视图 [] 系统视图 通过interface 0/0/0 进入接口视图 CTRL+Z 返回用户视图 CTRL+A 把光标移动到当前命令 ...
- Facetoobject_encapsulation
面向对象程序设计思想 一.思想 处处皆对象. 当提到某一功能时,首先应该想有没有实现该功能的对象,有则调用,没有则创建类.当提到数据时,应该想到属于哪个对象. 1.求1~n的累加和 public cl ...
- 关于.NET中的控制反转(一)- 概念与定义
一.控制反转 1:类与类的依赖 依赖是面向对象中用来描述类与类之间一种关系的概念.两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务,这样的两个对象之间主要体现为依赖关系 ...