- 统计单词数
参考代码
- 2025-4-13 14:23:21 @
#include<bits/stdc++.h>
using namespace std;
string key, s;
int main()
{
getline(cin, key);
getline(cin, s);
// 统一大小写
for (int i = 0; i < key.size(); i++)
if (key[i] >= 'A' && key[i] <= 'Z') key[i] += 32;
for (int i = 0; i < s.size(); i++)
if (s[i] >= 'A' && s[i] <= 'Z') s[i] += 32;
key = ' ' + key + ' '; // 预处理在第一个和最后一个单词左右添加空格
s = ' ' + s + ' ';
int cnt = 0, first_pos = -1, pos = 0;
while (s.find(key, pos) != s.npos)
{
pos = s.find(key, pos);
if (first_pos == -1) first_pos = pos;
pos ++;
cnt ++;
}
if (first_pos == -1) cout << -1;
else cout << cnt << " " << first_pos;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 240
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 6
- 已通过
- 4
- 上传者