//华为编程:筷子,找到第一个单对的筷子
#include
<stdio.h>
#define max 37
int main()
{
int
n,i,j;
int
a[max];
int
flag=0;
int
error=-1;
scanf("%d",&n);
if(n>max)
{
printf("%d\n",error);
return error;
}
for(i=0;i<n;i++)
scanf("%d",&a[i]);
//输入数据异常处理
//剩余偶数根筷子,且匹配,无法找到漏掉的筷子
//剩余偶数根筷子,且存在单对的筷子,可以找到漏掉的筷子
if(n%2==0)
{
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]==a[j])
{
a[i]=flag;
a[j]=flag;
break;
}
}
}
for(i=0;i<n;i++)
{
if(a[i]!=flag)
{
printf("%d\n",a[i]);
return
0;
}
}
printf("%d\n",error);
}
//剩余奇数根筷子,必能找到漏掉的筷子
else
{
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]==a[j])
{
a[i]=flag;
a[j]=flag;
break;
}
}
}
for(i=0;i<n;i++)
{
if(a[i]!=flag)
printf("%d\n",a[i]);
}
}
return
0;
}
/*测试用例:
输入: 7
1 2 3 2 1 3 2 输出:2
输入: 6
1 2 3 3 2 1
输出:-1
输入:
9 12 11 8 3 3 8 11 12 13
输出:13
输入:39
输出:-1 */