@[ijt1p8ul](/user/1208708) 因为 `getline` 的时候把第一行的换行符读掉了,所以要么第一行也 `getline`,要么第二行输入的时候先 `getline` 一遍,再 `getline` 需要读入的字符串
by Bingxiu @ 2023-11-29 18:48:44
@[Bingxiu](/user/676498) 改成getline就tle为啥
by Square0912 @ 2023-11-29 18:54:26
@[ijt1p8ul](/user/1208708) 你会发现本地运行都出不来结果
by GPUawa @ 2023-11-29 18:58:54
@[GPUawa](/user/781701) 怎么改
by Square0912 @ 2023-11-29 18:59:39
@[ijt1p8ul](/user/1208708) 你这代码一堆问题
`for (int i = c; s[c] != ' '; c++) {` 改成 `for (int i = c; c!=s.size()&&s[c] != ' '; c++) {`
`} else if (s == kkk && flag) {` 改成 `} else if (t == kkk && flag) {`
by Bingxiu @ 2023-11-29 18:59:57
@[Bingxiu](/user/676498) ~~话说你的马蜂怎么这样~~
还是20分,有谁会吗
```cpp
#include <bits/stdc++.h>
#define cint const int
#define rint register int
using namespace std;
string kkk, s;
int cnt;
bool flag = false;
int ans, c = 0;
void change(string _s) {
for (int i = 0; i < _s.size(); i++) {
if (_s[i] >= 'A' && _s[i] <= 'Z') {
_s[i] += 26;
}
}
}
signed main() {
// freopen(".out", "w", stdout);
cin >> kkk;
change(kkk);
getline(cin, s);
change(s);
while (c != s.size()) {
string t = "";
int tmp = 0;
for (int i = c; c != s.size() && s[c] != ' '; c++) {
if (s[c] != ' ') t[tmp++] = s[c];
}
if (t == kkk && !flag) {
ans = c;
flag = true;
cnt++;
} else if (t == kkk && flag) {
cnt++;
}
}
if (flag) cout << cnt << " " << ans << endl;
else cout << -1 << endl;
return 0;
}
```
by Square0912 @ 2023-11-29 19:37:01
@[ijt1p8ul](/user/1208708) $change$ 函数改成 `void change(string &_s) {`
by Bingxiu @ 2023-11-29 19:48:05
@[Bingxiu](/user/676498) 还是20pts呀
by Square0912 @ 2023-11-29 20:41:32