1 条题解
-
0
题意简述
有 道选择题,正确答案中 A、B、C、D 各恰好出现 次。给定 Tim 的作答字符串(含 '?' 表示未填),求 Tim 最多能答对的题数。
思路
对于每个选项 ,统计 Tim 选择了 的次数(即字符串中字符 的出现次数),记作 。
由于该选项总共只有 道题的正确答案是 ,因此 Tim 在该选项上最多答对 题。答案即为 。
'?' 不计入任何选项,因此忽略。
时间复杂度 每组,总复杂度 ,足够快。
参考代码
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while (t--) { int n; cin >> n; string s; cin >> s; int cntA = 0, cntB = 0, cntC = 0, cntD = 0; for (char c : s) { if (c == 'A') cntA++; else if (c == 'B') cntB++; else if (c == 'C') cntC++; else if (c == 'D') cntD++; } int ans = min(cntA, n) + min(cntB, n) + min(cntC, n) + min(cntD, n); cout << ans << "\n"; } return 0; }
- 1
信息
- ID
- 6904
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者