链接:https://ac.nowcoder.com/acm/contest/1083/A
来源:牛客网
题目描述
给出一个字符串s,你需要做的是统计s中子串”abc”的个数。子串的定义就是存在任意下标a<b<c,那么”s[a]s[b]s[c]”就构成s的一个子串。如”abc”的子串有”a”、”b”、”c”、”ab”、”ac”、”bc”、”abc”。
输入描述:
一个字符串s。保证输入只包含小写拉丁字符。
输出描述:
一个整数表示s中子串”abc”的个数。
示例1
输入
复制
abcabc
输出
复制
4
备注:
1<=|s|<=1e5
代码:
#include<bits/stdc++.h>
using namespace std;
char s[100009];
int main()
{
long long a=0,b=0,c=0;
scanf("%s",s);
int len=strlen(s);
for(int i=len-1;i>=0;i--)
{
if(s[i]=='c')
{
c++;
}
if(s[i]=='b')
{
b+=c;
}
if(s[i]=='a')
{
a+=b;
}
}
cout<<a<<endl;
}