PAT 乙级 有几个PAT
题目描述
字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?
输入描述:
输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。
输出描述:
在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,只输出对1000000007取余数的结果。
输入例子:
APPAPT
输出例子:
2
#include <iostream> #include <stdio.h> using namespace std; int main() { // 初始化变量 char c; int p=0, pa=0, pat=0; // 统计 while(scanf("%c", &c) && c!=' ' && c!='\n') { if(c == 'P') { p++; } else if(c == 'A') { pa += p; pa = pa%1000000007; } else { pat += pa; pat = pat%1000000007; } } printf("%d\n", pat); return 0; }
                    
                
                
            
        
浙公网安备 33010602011771号