http://codeup.cn/problem.php?cid=100000582&pid=0
知识点:哈希(hash)即散列
#include<cstdio>
#include<cstring>
const int maxn=1000;
int main()
{
int n,p,count=0;
int i,j;
bool hashTable[maxn];
int a[maxn];
memset(hashTable,false,sizeof(hashTable)); //初始化所有的数据没有输出 为false,包含在#include<cstring>之中
while(scanf("%d%d",&n,&p)!=EOF)//对于题目中若提到'每个案列'时,需要的是测试多组数据 ,所以应该使用这种方式。
{
for(i=0;i<n;i++)</cstring></cstring></cstdio>

 {
    scanf("%d",&a[i]);
 }
 for(i=0;i<n;i++)
 {
    for(j=i+1;j<n;j++)
    {
        if(a[i]==a[j])
        {
            hashTable[a[i]]=true;
            count++;
        }
    }
 }
 for(int i=0;i<n;i++)
 {
    if(hashTable[a[i]]==true)
    {
        printf("%d\n",count);
    }
    else if(hashTable[a[i]]==false)
    {
        printf("BeiJu\n");
    }
 }
 memset(hashTable,false,sizeof(hashTable)); //多组数据输入,需要重新初始化数组,不然会保留原有的数据。 

}
return 0;
}