// Hrbust 1545
#include <stdio.h>
int del(int list[],int len,int i) // 删除list中的位置i
{
for (int j = i+1;j < len;j++)
{
list[j-1] = list[j];
}
return --len;
}
int find(int list[],int len,int i) // find ,where is the element
{
for (int j = 0;j < len;j++)
{
if (i == list[j])
return 1;
}
return 0;
}
int main()
{
int n;
int list[1001];
while (scanf("%d",&n) != EOF)
{
for (int i = 0;i < n;i++)
scanf("%d",&list[i]);
for (int i = 0,j = 0;i < n;i++) //j是当前表长,被 find 调用 ,最后一次循环后 j == n,true
{
int t = find(list,j,list[i]);
if (!t)
{
j++;
}
else
{
n = del(list,n,i--);
}
}
//output
printf("%d\n",n);
for (int i = 0;i < n;i++)
printf("%d%c",list[i],i == n-1 ? '\n': ' ');
}
return 0;
}
Hrbust 1545
最新推荐文章于 2019-04-06 10:27:03 发布