#2166. Counting Friends

Counting Friends

题目描述

FarmerJohn\red{Farmer John }N\red{N }头奶牛(2<=N<=500\red{2 <= N <= 500)}已加入社交络"MooBook\red{MooBook}"。

每头奶牛都有一个或多个朋友MooBook\red{MooBook }上与他们互动。

为了好玩,FarmerJohn\red{Farmer John }为他的每头奶牛列出了一个朋友数 量的列表,但是在编写列表的过程中他分心了,他错误地添加了一个额外的数字(所以他的列表包含 N+1\red{N+1 }个数字,而不是他想 要的 N\red{N }个数字)。

请帮助 FarmerJohn\red{Farmer John }找出他名单上的哪些数字可能是错误的额外数字。

FJ\red{FJ}又有n(1<=n<=500)\red{n(1<=n<=500)}头奶牛都有一个或一个以上的朋友。

FJ\red{FJ}记录每头牛的朋友数,但他傻不小心混入了一个错的数字,请找出。

输入格式

1\red{1 }行:整数 N\red{N}

2..2+N\red{2..2+N }行:第 i+1\red{i+1 }行包含 FJ\red{FJ }的一头奶牛的朋友数,或者可能是额外的错误数。

输出格式

1\red{1 }行:一个整数 K\red{K,}表示 FJ\red{FJ }列表中可能是额外数字的条目数(或者,K=0\red{K=0 }表示列表中没有数字 ,其删除会产生可行的朋友配对)。

2..1+K\red{2..1+K }行:每行包含输入排序中的索引 (1..N+1)\red{(1..N+1)},其中包含可能是额外数字的 FJ\red{FJ }列表的数字 \red{- }即可以删除的数字使得剩下的 N\red{N }个数承认一个可行的集合牛之间的友谊。

这些行应按排序顺序排列。

样例

输入样例

4
1
2
2
1
3

输出样例

3
1
4
5

提示

农夫约翰有 4\red{4 }头奶牛。2\red{2 }头牛每人只有 1\red{1 }个朋友,2\red{2 }头牛每人有 2\red{2 }个朋友,1\red{1 } 头牛有 3\red{3 }个朋友(当然,其中一个是多余的,不属于列表)。

删除 FJ\red{FJ }列表中的第一个数字(数字 1\red{1)}得到剩余的列表 2\red{2}2\red{2}1\red{1}3\red{3,}这确实导 致了可行的友谊配对

--例如,如果我们将奶牛命名为 A..D\red{A..D,}那么配对 (A,B)\red{(A,B)}(A,C)\red{(A,C)}(A,D)\red{(A,D) }(B,C)\red{(B,C) }就足够了,因为 A\red{A }3\red{3 }个朋友,B\red{B }C\red{C }2\red{2 }个朋友,D\red{D }1\red{1 }个朋友。同样,从 FJ\red{FJ }的列表中删除另一个"1\red{1}"也有效,从 FJ\red{FJ }的列表中删除"3\red{3}"也是 如此。

FJ\red{FJ }的列表中删除任何一个"2\red{2}"都不起作用\red{--}我们可以从剩余数字的总和是奇数的事实中看出这一点 ,这显然阻止了我们找到可行的配对。