本文主要是介绍[传智杯 #4 决赛] 小智的疑惑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
传智专修学院给了小智一个仅包含小写字母的字符串 s,他想知道,里面出现了多少次子串 chuanzhi
呢。
我们称一个字符串 t 是 s 的子串,当且仅当将 s 的开头若干个(可以为 0 个)连续字符和结尾若干个(可以为 0 个)连续字符删去后,剩下的字符串和 t 相同。例如,我们称 ab
是 abc
的子串,但 ac
不是 abc
的子串。
输入格式
输入只有一行一个字符串,表示字符串 s。
输出格式
输出一行一个整数表示答案。
输入输出样例
输入 #1复制
welcometochuanzhicupchuanzhi
输出 #1复制
2
说明/提示
数据规模与约定
对于全部的测试点,保证 1≤∣s∣≤4×105,∣s∣ 表示 s 的长度,且 s 中只有小写字母。
#include <iostream>
using namespace std;
int main(){
string s;//用字符串数组
long long sum=0;cin>>s;for(int i=0;i<s.size()-6;i++){//判断是否含有给定的单词if(s[i]=='c'&&s[i+1]=='h'&&s[i+2]=='u'&&s[i+3]=='a'&&s[i+4]=='n'&&s[i+5]=='z'&&s[i+6]=='h'&&s[i+7]=='i')sum++;}cout<<sum<<endl;//输出单词的数量return 0;
}
这篇关于[传智杯 #4 决赛] 小智的疑惑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!