CSP-J 2024 T1 sol

George222 Lv3

数据仅有 52,极小的数据范围导致这题只有一个问题:如何简短方便的去重并统计。

我选择了 map 做法:每个输入查找 map 中之前是否记录过此元素,如果记录过则证明已经拥有这张牌,反之则记录并将统计数增加。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <bits/stdc++.h>
using namespace std;

int n;
map<string, bool> poker;
int cnt = 0;

int main()
{
cin >> n;
while (n--)
{
string pok;
cin >> pok;
map<string, bool>::iterator f;
f = poker.find(pok);
if (f == poker.end())
{
poker.insert(pair<string, bool> (pok, true));
cnt++;
}
}
cout << 52 - cnt;
return 0;
}
  • 标题: CSP-J 2024 T1 sol
  • 作者: George222
  • 创建于 : 2024-10-26 21:13:00
  • 更新于 : 2024-10-26 21:15:03
  • 链接: https://george110915.github.io/CSP-J 2024 T1 sol/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
此页目录
CSP-J 2024 T1 sol