1205: 楊八方的英語問題

題目描述

楊八方相信世界上有語感這種東西,有些人對英語擁有天生的敏感。楊八方對英語的敏感體現在它她能快速找到一個字符串中的某些字母。

一個字符串中的字符如果滿足以下條件(字符串下標從1開始):

1.si=

'A',sj='C',sk=

'M'

2.i,j,k

成等差數列。

(i,j,k)

稱爲一個“ACM組”,現在請你計算給定字符串有多少個“ACM組”。

輸入

第一行是一個整數T

,代表有T

組測試數據。

下面T

行,每一行有一個只可能大寫字母、小寫字母的字符串。

0<T<100

字符串長度不超過1000

輸出

對於每組測試輸出“ACM”組的個數。

樣例輸入

3
ACM
AaCCMcM
Acm

樣例輸出

1
2
0

提示

“A”、“C”、“M”三個字母區分大小寫。

題解:等差數列。。。可能是從小到大,也可能是從大到小啊啊啊啊啊啊

#include<cstdio>
#include<cstring>
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		char s[1010];
		scanf("%s",s);
		int count=0;
		for(int i=0;i<strlen(s)-2;i++){
			if(s[i]=='A'){
				for(int j=1;i+j+j<=strlen(s)-1;j++){
					if(s[i+j]=='C'&&s[i+j+j]=='M'){
						count++;
					}
				}
			}
		}
		for(int i=0;i<strlen(s)-2;i++){
			if(s[i]=='M'){
				for(int j=1;i+j+j<=strlen(s)-1;j++){
					if(s[i+j]=='C'&&s[i+j+j]=='A'){
						count++;
					}
				}
			}
		}
		printf("%d\n",count);
	}
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章