描述
在慶祝祖國母親70華誕之際,老師給小樂樂出了一個問題。大家都知道China的英文縮寫是CHN,那么給你一個字符串s,你需要做的是統計s中子序列“CHN”的個數。子序列的定義:存在任意下標a < b < c,那么“s[a]s[b]s[c]”就構成s的一個子序列。如“ABC”的子序列有“A”、“B”、“C”、“AB”、“AC”、“BC”、“ABC”。
輸入描述
輸入只包含大寫字母的字符串s。(1 ≤ length ≤ 8000)
輸出描述
輸出一個整數,為字符串s中子序列“CHN”的數量
輸入:CCHNCHN
輸出:7
輸入:CCHNCHNCHNCHN
輸出:30
?實現代碼
#include <stdio.h>int main()
{char str[8001]={0};scanf("%s",str);char* p=str;long long c=0;long long ch=0;long long chn=0;while(*p){//統計CHNif(*p == 'C')c++;else if(*p == 'H')//CH的個數為這個H之前所有C的個數ch+=c;else if(*p == 'N')//CHN的個數為這個N之前所有CH的個數chn+=ch;p++;}printf("%lld",chn);return 0;
}