#P3104. 数朋友(Counting Friends)
0
数朋友(Counting Friends)
数朋友(Counting Friends)
题目描述
FJ 的 头奶牛加入了社交网络“牛书”。
每一头奶牛在牛书上都有一个或多个朋友,于是 FJ 做了一个列表,列出了每头奶牛的朋友数量。但在这一过程中,他错误地将一个额外的数加入了列表(所以最终的列表包含 个数,而不是预期的 个数)。
请帮助 FJ 找出哪一个数可能是错误的那个数。
输入格式
第 行:一个整数 。
第 至 行:共 个数,每一行表示一头奶牛的朋友数量,也有可能是错误的那个数。
输出格式
第 行:一个整数 ,表示有多少个数可能是错误的(若 ,表示移出任意一个数都无法产生一个可行的朋友配对)。
第 至 行:每一行包括一个 FJ 列表的编号,对应的数可能是那个错误的数。也就是说,这个数字被移除可使得剩余的 个数字成为一组合法的朋友关系。编号按从小到大顺序输出。
样例输入 #1
4
1
2
2
1
3
样例输出 #1
3
1
4
5
数据范围
样例解释
FJ 有四头奶牛。其中两头有一个朋友,两头有两个朋友,一头有三个朋友(当然,其中一个数字是错误的,不应出现在列表上)。
移除 FJ 列表上的第一个数字,余下的序列是 ,是合法的。如果我们把四头奶牛命名为 ,就有 的配对方式符合要求。同样的,移除列表中的第四、第五个数字,也可以形成合法的朋友关系,移除数字 则无法形成合法的朋友关系。容易发现,若移除了数字 ,剩余的数字为奇数,显然无法形成合法的朋友关系。
数据规模与约定
对于 的数据,。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1850。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 20 | 2~7 | 小规模 N≤20 / 特殊: K=0无任何合法移除方案 / 特殊: K=N+1全部位置均可移除 |
| 2 | 8~13 | 中等规模 N≤150 / Hack: 偶数度但违反 Erdős–Gallai 不等式的伪序列 | |
| 3 | 30 | 14~20 | 满规模 N=500 稠密图与二部图度序列压力测试 |
| 4 | 20 | 21~25 | 满规模 N=500 随机真实图插入干扰数综合回归 |
出处:原题链接