您的位置:首页 > 其它

1093. Count PAT's

2017-01-01 15:43 218 查看
好惭愧,一开始居然想要枚举,妥妥地超时了= =

#include <stdio.h>
/*以字母A为中心,计算在这个A左边的字母P的个数以及在这个A的右边的字母T的个数,
两者相乘。*/

int main() {
char str[100000];
scanf("%s",str);
int CntP = 0, CntT = 0;
long n = 0;
int i = 0;

while (str[i] != '\0')
if (str[i++] == 'T')
CntT++;//数有多少个T

i = 0;
while (str[i] != '\0') {
if (str[i] == 'P') /*只要判断if条件就会执行!*/
CntP++;
if (str[i] == 'T')
CntT--;
if (str[i] == 'A')
n = (n + CntP*CntT) % 1000000007;
i++;
}

printf("%ld", n);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PAT