Problem H: [NOI Online #3 入门组] 最急救助
[Creator : ]
Description
#include <string>
#include <iostream>
using namespace std;
int n;
string name[110], s[110]; // name表示求救者姓名,s 表示求救信号。
__________; // 定义一个数组记录每个求救者的求救信号中 sos 的个数
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> name[i] >> s[i];
}
_______ // 定义一个变量,用于记录最多的 sos 出现次数的最终答案
for( ){// 大循环,i 从 1 到 n 开始,计算每个求救者的求救信号中 sos 的个数
int len = s[i].length();
for(int j = 0; j + 2 < len; j++){// 小循环,处理字符串的每一位,j 从 0 开始,一直到这个字符串倒数第三个,
// 判断第 j 个字母是 s,第 j+1 个字母是 o,第 j+2 个字母是 s
// 以上同时成立说明找到了一个 sos,那么这个求救者的 sos 个数就要 +1
}
if(){// 如果这个人的 sos 个数破了纪录,则更新最终答案
}
}
// 寻找最紧急求救者,使用打擂台法
for () {
// 如果第 i 个人的 sos 次数等于最大值,则输出第 i 个人的名字
}
_________// 输出换行
_________// 输出最终答案
return 0;
}
Sample Input Copy
2
adam
ineedhelpsosineedhelpsos
mark
ineedmorehelpsoshelpmesossoshelpme
Sample Output Copy
mark
3