luogu#P11439. [Code+#6] 因数分解

[Code+#6] 因数分解

题目背景

搬运自 Code+ 第 6 次网络赛

题目描述

nn 个小朋友在一个神奇的空间里玩游戏。每个小朋友有一个名字,且所有的名字两两不同。名字只由可打印字符组成(ASCII 编码 3232126126),长度恰好为 33

每个小朋友有 kk 种属性值(kk 为非负整数),第 ii 种属性值的取值范围为不超过 aia_i 的正整数(2a1a2ak2 \leq a_1 \leq a_2 \leq \cdots \leq a_k)。保证 n=a1a2akn=a_1 a_2 \cdots a_k,且对于任意一对小朋友,他们总有至少一种属性不相同。

当且仅当一对小朋友恰好有一种属性不相同且该属性恰好相差 11 时,我们称这一对小朋友互相认识。设 mm 为互相认识的小朋友的对数。

输入 mm 和这些互相认识的关系,请输出一种可能的 kka1,a2,,aka_1, a_2, \dots, a_k

输入格式

第一行输入一个整数 mm

第二行中依次输入每一对互相认识的关系。对于每一对关系输入 66 个字符,前 33 个与后 33 个字符分别表示两个小朋友的名字。注意本行结尾仍有一换行符。

输出格式

第一行输出一个整数 kk

接下来 kk 行,其中第 ii 行输出 aia_i

如果有多种可行的解,你可以输出任意一个。

7
233rbqloltysorztystysrbqexmlolrbqexmorz233

2
2
3

提示

样例解释

一种可行的解如下:k=2,a1=2,a2=3k=2,a_1=2,a_2=3

可以验证,一共有 77 对互相认识的关系,且符合给出的输入。

数据范围

  • 子任务 1(2929 分):50<m50050<m\le500
  • 子任务 2(1919 分):保证所有的 a1,a2,,aka_1, a_2, \dots, a_k 均为质数,m106m \leq 10^6
  • 子任务 3(1010 分):500<m5000500<m\le5000
  • 子任务 4(4242 分):m106m\le10^6

对于所有的输入数据,保证 n1000n\le1000m106m\le 10^6

提示

这题叫什么名字来着?