我是纳西达的狗!
题目描述
在洛谷入门赛/语言月赛出题 QQ 群里,著名洛谷管理员蓝边铅球老师的群名片是『原神玩家』。
现在,扶苏给了你一个字符串 s,她想请你求出:有多少种方案可以在 s 中取出两个子串 s[l1,r1],s[l2,r2]s[l1,r1],s[l2,r2],满足:
- 1≤l1≤r1≤l2≤r2≤∣s∣1≤l1≤r1≤l2≤r2≤∣s∣,这里 ∣s∣ 表示字符串 s 的长度。
- s[l1,r1]表示由 s 的第 l1 个字符到第 r1 个字符构成的字符串,s[l1,r1]=Genshin。
- s[l2,r2] 表示由 s 的第 l2 个字符到第 r2 个字符构成的字符串,[l2,r2]=player。
两个方案不同,当且仅当两个方案中 l1,r1,l2,r2 至少有一个对应不同。
输入格式
输入只有一行,包含一个字符串 s。
输出格式
输出一行一个整数表示答案。
题解
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
int ans=0;
getline(cin,s);
for (int i=0;i<s.size();i++){
if (s.substr(i,7)=="Genshin") {
for (int j=i;j<s.length();j++){
if(s.substr(j,6)=="player") {
ans++;
}
}
}
}
cout<<ans;
return 0;
}