题目:
链接: http://acm.neu.edu.cn/hustoj/problem.php?id=1141
思路:
水题。我的思路是:先对输入的数组进行sort排序,然后对相同的数进行计数即可。
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
int a[100010];
int main()
{
//freopen("input.txt","r",stdin);
int num;
int cnt[100010];
int ct,ct1;
int b[100010];
while(scanf("%d",&n) != EOF)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(cnt,0,sizeof(cnt));
ct = 0;
ct1 = 0;
for(int i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n);
num = -1>>30;
for(int i=0; i<n; i++)
{
if(a[i] == num)
{
++cnt[ct1-1];
}
else
{
b[ct++] = a[i];
num = a[i];
++cnt[ct1++];
}
}
for(int i=0; i<n; i++)
{
if(cnt[i]%2)
printf("%d\n",b[i]);
}
}
return 0;
}