5 1 1 3 2 2 3 1 2 1 0
3 2use scanf to avoid Time Limit ExceededHintHint
<span style="font-size:18px;">#include<stdio.h>
int main()
{
	int n,x,m;
	while(~scanf("%d",&n),n)
	{
		x=0;
		while(n--)
		{
			scanf("%d",&m);
			x^=m;
		}
		printf("%d\n",x);
	}
	return 0;
}</span><span style="font-size:18px;"></span>
<span style="font-size:18px;">下面是之前我的错误的代码:</span>
<span style="font-size:18px;"></span><p>#include<stdio.h>
#include<string.h>
int a[1000001];
int s[1000001];
int b[1000001];
int main()
{
 int n,i;</p><p> while(~scanf("%d",&n),n)
 {
  memset(s,0,sizeof(s));
  for(i=1;i<=n;i++)
  scanf("%d",&a[i]);
  for(i=1;i<=n;i++)
  {
   s[a[i]]++;
   b[i]=i;  
  }
  for(i=1;i<=n;i++)
  {
   if(s[a[i]]&1)
   {
    printf("%d\n",b[i]);
   }
  }
 }
 return 0;
}
</p><span style="font-size:18px;">//能够运行,但是因为数组设的过大,导致编译器崩溃没法通过。</span>
原文:http://blog.csdn.net/ice_alone/article/details/38339631