POJ2945 数据结构 映射
#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
#include <map>
#define N 20010
using namespace std;
map<string,int> mp;
string s[N];
int n,m,tm[N];
int main( ){
while(~scanf("%d%d
",&n,&m)){
mp.clear();
memset(tm,0,sizeof(tm));
for(int i=1,x;i<=n;i++){
cin>>s[i];
x=++mp[s[i]];
if(x>1) tm[x-1]--;
tm[x]++;
}
for(int i=1;i<=n;i++) printf("%d
",tm[i]/*," m"[i==n]*/);
}
return 0;
}