您的位置:首页 > 其它

1205: 杨八方的英语问题

2017-10-28 16:33 141 查看


1205: 杨八方的英语问题 [思维]

时间限制: 1 Sec 内存限制:
128 MB

提交: 97 解决:
27 统计


题目描述

杨八方相信世界上有语感这种东西,有些人对英语拥有天生的敏感。杨八方对英语的敏感体现在它她能快速找到一个字符串中的某些字母。
一个字符串中的字符如果满足以下条件(字符串下标从1开始):
1.si=si='A',sj=sj='C',sk=sk='M'
2.i,j,ki,j,k成等差数列。
则(i,j,k)(i,j,k)称为一个“ACM组”,现在请你计算给定字符串有多少个“ACM组”。


输入

第一行是一个整数TT,代表有TT组测试数据。
下面TT行,每一行有一个只可能大写字母、小写字母的字符串。
0<T<1000<T<100
字符串长度不超过1000


输出

对于每组测试输出“ACM”组的个数。


样例输入

3
ACM
AaCCMcM
Acm


样例输出

1
2
0


提示

“A”、“C”、“M”三个字母区分大小写。


来源

#include<stdio.h>
#include<string.h>
int main(){
char a[10010];
int m,n,j,i,k,t,l,p;
scanf("%d",&t);
while(t--){
p=0;
memset(a,0,sizeof(a));
scanf("%s",a);
l=strlen(a);
for(i=0;i<l;i++){
for(j=i+1;j<l;j++){
if(a[i]=='A' && a[j]=='C'){
k=j+j-i;
if(a[k]=='M' ){
p++;
}
}
}
}
for(i=0;i<l;i++){
for(j=i+1;j<l;j++){
if(a[i]=='M'&&a[j]=='C'){
k=j+j-i;
if(a[k]=='A'){
p++;
}
}
}
}
printf("%d\n",p);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: