问题 A: 字符串的统计
时间限制: 1 Sec 内存限制: 128 MB提交: 87 解决: 24
[ 提交][ 状态][ 讨论版]
题目描述
给定n个字符串,我想知道第i个字符串已经出现多少次?
输入
第一行输入一个整数t,代表t(t <= 20)组测试数据。
每组数据第一行输入一个整数n,代表字符串数目。接下来n行,每行输入一个字符串str。
保证:1 <= n <= 20000,1 <= |str| <= 20。
输出
每组数据输出n个结果,每个结果占一行,第i个结果表示第i个字符串已经出现了多少次。
样例输入
3 2 aa aa 3 aa ab aa 4 aaaa ccaa aacc ccaa
样例输出
0 1 0 0 1 0 0 0 1
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<map>
using namespace std;
map<string, int> cnt;
char str[30];
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
cnt.clear();
for(int i=0;i<n;i++)
{
scanf("%s",str);
printf("%d\n",cnt[str]);
cnt[str]++;
}
}
return 0;
}