题解 P1321 【单词覆盖还原】

Edmundino

2019-06-14 22:31:09

Solution

这道题使我们班考试时的一道题 当时我想得很复杂,导致我只对了1个测试点 看了正解,我想哭,发现代码超短,而且思路很简单 现在,让我见一下思路 首先,我们要有一个字符串,一个计算boy与一个计算girl的变量 用询问字符串来统计个数 如果是BOY,那要么是那一位是“b”,要么下一位是“o” 要么下一位是“y”; 同理,girl也是如此 就可以写成以下如此 ```cpp cin>>a; n=a.length(); for(int i=0;i<n-2;i++) boy+=(a[i]=='b'||a[i+1]=='o'||a[i+2]=='y'); for(int i=0;i<n-3;i++) girl+=(a[i]=='g'||a[i+1]=='i'||a[i+2]=='r'||a[i+3]=='l'); ``` 最后送上AC代码 ```cpp //P1321 #include<iostream> #include<algorithm> #include<iomanip> #include<cstring> #include<cstdio> #include<cmath> #include<map> #include<queue> using namespace std; int boy,girl,n; string a; int main() { cin>>a; n=a.length(); for(int i=0;i<n-2;i++) boy+=(a[i]=='b'||a[i+1]=='o'||a[i+2]=='y'); for(int i=0;i<n-3;i++) girl+=(a[i]=='g'||a[i+1]=='i'||a[i+2]=='r'||a[i+3]=='l'); cout<<boy<<endl<<girl; return 0; } ```