这是一道为STL而生的题目,本人做了很久的数组存储+二分查找,但是发现数组这玩意实在不给力,插入删除特别不方便,每次都要排序的话就会T。我认为如果用的是vector的话也许可以过,但是最标准的做法当然还是用map了。由于本人的水平实在渣这是第一次写map(第一次写博客,请大家支持哦~~)
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<map>
#include<algorithm>
using namespace std;
map <string, int> mymap;
char s[50];
typedef long long ll;
int main()
{
int t;
while(~scanf("%d", &t))
{
while(t--)
{
scanf("%s", s);
int len = strlen(s);
sort(s, s+len);
printf("%d\n", mymap[s]);
mymap[s]++;
}
}
return 0;
}