AT_tenka1_2018_d.Crossing
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个整数 N。请判断是否存在一组 {1,2,…,N} 的子集组 (S1,S2,…,Sk),满足以下条件,并在存在时构造出这样的一组。
- 对于 1,2,…,N 中的每个整数,恰好属于 S1,S2,…,Sk 中的两个集合。
- 对于 S1,S2,…,Sk 中任意两个集合,它们的交集恰好包含一个元素。
输入格式
输入通过标准输入给出,格式如下:
N
输出格式
如果不存在满足条件的子集组,输出 No。如果存在,先输出 Yes,然后按照如下格式输出子集的信息。设 Si={Si,1,Si,2,…,Si,∣Si∣}。
如果有多组满足条件的答案,输出任意一组均可。
k
∣S1∣ S1,1 S1,2 … S1,∣S1∣
∣S2∣ S2,1 S2,2 … S2,∣S2∣
⋮
∣Sk∣ Sk,1 Sk,2 … Sk,∣Sk∣
输入输出样例
输入#1
3
输出#1
Yes 3 2 1 2 2 3 1 2 2 3
输入#2
4
输出#2
No
说明/提示
限制
- 1≤N≤105
- N 是整数
样例解释 1
取 (S1,S2,S3)=({1,2},{3,1},{2,3}),可以验证满足条件。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?