#include <iostream> using namespace std; int main(){ int n,m; cin>>n>>m; int*person=new int[n+1]; int*book=new int[m+1]; for(int i=1;i<=m;++i){ book[i]=0; } for(int i=1;i<=n;++i){ int temp; cin>>temp; person[i]=temp; ++book[temp]; } for(int i=1;i<=n;++i){ if(book[person[i]]==1){ cout<<"BeiJu"<<endl; }else{ cout<<book[person[i]]-1<<endl; } } }
这题只要用两个数组分别记录个人喜欢书籍和各个书籍喜欢的人数即可。
最后当个人喜欢的书只有一个人喜欢说明没有朋友,反之有书喜欢的人数减1