当前位置:首页 > 数论 > 正文
SSOJ2903Sherlock and His Girlfriend[CF400B]
859+

题目大意:n个数,分别是2到n+1,每个数字与其质因子的颜色不能一样,至少要多少种颜色?

题目描述

原题来自: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

样例说明

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

对于全部数据,1n105

解题思路

超过3个数,需要2种颜色,否则只需要1种颜色。为什么很多个数也只需要2种颜色?因为我们可以让质数是一种颜色,合数是另一种颜色!用筛法标记质数后,即可输出对应的颜色1、2。

程序实现

About

坚决不Copy代码!

本文标签:,,,,,

SSOJ2903Sherlock and His Girlfriend[CF400B]:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!