1 solutions
-
0
Guest MOD
-
0
最大值一定出现在移位次内 遍历所有可能的移位 ( 到 ):对于每个 ,计算字符串中每个字符移位后的洞数之和。 计算每个 的总和:利用模运算快速得到移位后的字母索引,累加洞数。 更新最大值:记录所有 中最大的总和。
#include <iostream> #include <string> using namespace std; int hole[26] = { 1,2,0,1,0,0,0,0,0,0,0,0,0, 0,1,1,1,1,0,0,0,0,0,0,0,0 }; int main() { string s; cin >> s; int max_sum = 0; for (int k = 0; k < 26; ++k) { int sum = 0; for (char c : s) { int idx = (c - 'A' + k) % 26; sum += hole[idx]; } if (sum > max_sum) { max_sum = sum; } } cout << max_sum << endl; return 0; }
Information
- ID
- 1500
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 6
- Tags
- (None)
- # Submissions
- 58
- Accepted
- 19
- Uploaded By