第二十二天

问题描述:

链接:https://ac.nowcoder.com/acm/problem/14112
来源:牛客网

又到了一年一度的北京师范大学程序设计竞赛!本次比赛的负责人萌萌哒whalyzh同学要给大家发比赛账号。由于参赛队伍众多,面对长长的参赛名单,whalyzh同学表示压力山大。现在whalyzh同学实在忙不过来,就扔了一份参赛队伍的账号列表给你。为了确定给校内队伍颁发的各类奖项的名额,他需要知道一共有多少支校内队伍参加了比赛。

输入描述:

第一行是一个正整数T(≤1000),表示测试数据的组数,
对于每组测试数据,
第一行是一个整数n(0 ≤ n ≤100),表示队伍数量,
接下来n行,每行是一个格式为"学校英文名缩写16-队伍编号"的字符串,表示队伍账号,保证学校英文名缩写只包含小写字母,编号是正整数且不含前导零,同一学校不同队伍的编号一定不同,来自不同学校的队伍的编号可能相同。
更多信息请参考样例。

输出描述:

对于每组测试数据,输出一行,包含一个整数,表示参赛列表中本校(即学校英文名缩写是"bnu"的队伍)队伍的数量。
示例1

输入

复制
2
10
bac16-1
bit16-1
bitss16-1
bjfu16-1
bjtu16-1
bnu16-1
buaa16-1
cuc16-1
cugb16-1
google16-1
5
bnu16-1
bnu16-3
bnu16-5
bnu16-2
bnu16-4
输出
1
5

说明

对于第一组样例,只有"bnu16-1"是校内队伍。
对于第二组样例,所有队伍都是校内队伍
代码:

#include <iostream>
#include <string>
#include <unordered_map>

using namespace std;

int main()
{
int T;
cin >> T;
while (T--) {
int n;
cin >> n;
string s;
unordered_map<string, int> cnt;
while (n--) {
cin >> s;
int pos = s.find("16-"); // 查找队伍编号的起始位置
if (pos != string::npos && s.substr(0, pos) == "bnu") { // 确认学校英文名为 bnu
cnt["bnu"]++; // 统计目标学校的队伍数量
}
}
cout << cnt["bnu"] << endl; // 输出目标学校的队伍数量
}
return 0;
}

posted @ 2023-05-14 20:56  序章0  阅读(28)  评论(0)    收藏  举报