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;
}
#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;
}
相关文章推荐
- libdvbpsi源码分析(四)PAT表解析/重建
- PAT配置
- 什么是端口复用动态地址转换(PAT) 介绍配置实例
- MikroTik layer7-protocol
- PAT是如何工作的
- PAT 乙级题:1002. 写出这个数 (20)
- PAT (Advanced Level) Practise 1001-1010
- PAT (Basic Level) Practise (中文)
- 数据结构学习与实验指导(一)
- PAT Basic Level 1001-1010解题报告
- PAT 数素数
- PAT 福尔摩斯的约会
- PAT 德才论
- PAT 月饼
- 1001. 害死人不偿命的(3n+1)猜想
- 1002. 写出这个数
- 1032. 挖掘机技术哪家强
- 1001. 害死人不偿命的(3n+1)猜想 (PAT basic)
- 1002. 写出这个数(PAT Basic)
- 1004. 成绩排名(PAT Basic)