#P5463. Counting Friends

Counting Friends

题目描述

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

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

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

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

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

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

输入格式

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

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

输出格式

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

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

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

样例

输入样例

4
1
2
2
1
3

输出样例

3
1
4
5

提示

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

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

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

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