社区讨论
77 求大佬帮忙看下
P1321单词覆盖还原参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhji44j2
- 此快照首次捕获于
- 2025/11/04 02:56 4 个月前
- 此快照最后确认于
- 2025/11/04 02:56 4 个月前
代码如下:
CPP#include<bits/stdc++.h>
using namespace std;
int ans1, ans2;
string s;
void cou() {
cout << endl << s << "\nans1=" << ans1 << " ans2=" << ans2 << endl;
return ;
}
int main() {
cin >> s;
//boy查找
//3#
for (int i = 0; i < s.size() - 2; i++) {
if (s[i] == 'b' && s[i + 1] == 'o' && s[i + 2] == 'y') {
ans1++;
s[i] = '.';
s[i + 1] = '.';
s[i + 2] = '.';
}
}
// cout << "3#";
// cou();
//2#
for (int i = 0; i < s.size() - 1; i++) {
if (s[i] == 'b' && s[i + 1] == 'o') {
ans1++;
s[i] = '.';
s[i + 1] = '.';
}
}
for (int i = 0; i < s.size() - 1; i++) {
if (s[i] == 'o' && s[i + 1] == 'y') {
ans1++;
s[i] = '.';
s[i + 1] = '.';
}
}
// cout << "2#";
// cou();
//1#
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'b') {
ans1++;
s[i] = '.';
}
}
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'o') {
ans1++;
s[i] = '.';
}
}
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'y') {
ans1++;
s[i] = '.';
}
}
// cout << "1#";
// cou();
//girl查找
//4#
for (int i = 0; i < s.size() - 3; i++) {
if (s[i] == 'g' && s[i + 1] == 'i' && s[i + 2] == 'r' && s[i + 3] == 'l') {
ans2++;
s[i] = '.';
s[i + 1] = '.';
s[i + 2] = '.';
s[i + 3] = '.';
}
}
// cout << "4#";
// cou();
//3#
for (int i = 0; i < s.size() - 2; i++) {
if (s[i] == 'g' && s[i + 1] == 'i' && s[i + 2] == 'r') {
ans2++;
s[i] = '.';
s[i + 1] = '.';
s[i + 2] = '.';
}
}
for (int i = 0; i < s.size() - 2; i++) {
if (s[i] == 'i' && s[i + 1] == 'r' && s[i + 2] == 'l') {
ans2++;
s[i] = '.';
s[i + 1] = '.';
s[i + 2] = '.';
}
}
// cout << "3#";
// cou();
//2#
for (int i = 0; i < s.size() - 1; i++) {
if (s[i] == 'g' && s[i + 1] == 'i') {
ans2++;
s[i] = '.';
s[i + 1] = '.';
}
}
for (int i = 0; i < s.size() - 1; i++) {
if (s[i] == 'i' && s[i + 1] == 'r') {
ans2++;
s[i] = '.';
s[i + 1] = '.';
}
}
for (int i = 0; i < s.size() - 1; i++) {
if (s[i] == 'r' && s[i + 2] == 'l') {
ans2++;
s[i] = '.';
s[i + 1] = '.';
}
}
// cout << "2#";
// cou();
//1#
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'g') {
ans2++;
s[i] = '.';
}
}
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'i') {
ans2++;
s[i] = '.';
}
}
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'r') {
ans2++;
s[i] = '.';
}
}
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'l') {
ans2++;
s[i] = '.';
}
}
// cout << "1#";
// cou();
cout << ans1 << endl << ans2;
return 0;
}
自己调过一遍,但找不出为什么会计算一个(样例7 ans2多了1个)
回复
共 2 条回复,欢迎继续交流。
正在加载回复...