PAT(Basic Level)_1003_我要通过!
2017-07-22 13:45
411 查看
//利用状态机来记录已经扫描过的字符串的形式 //同时在不同的状态下记录字母A的个数 //最后判断是否到达终止状态及字母A的个数是否正确 #include<stdio.h> #include<string.h> #define WA -1 int main(){ char str[101]; int cnt,a,b,c,state; scanf("%d\n",&cnt); while(cnt--){ gets(str); state=0;a=0;b=0;c=0; for(int i=0;i<strlen(str);i++){ switch(state){ case 0: if(str[i]=='A') a++; else if(str[i]=='P') state=1; else state=WA; break; case 1: if(str[i]=='A') b++; else if(str[i]=='T') state=2; else state=WA; break; case 2: if(str[i]=='A') c++; else state=WA; break; } if(state==WA) break; } if(!b || a*b!=c || state!=2) state=WA; if(state==WA) printf("NO\n"); else printf("YES\n"); } return 0; }
相关文章推荐
- Pat(Basic Level)Practice--1003(我要通过)
- PAT (Basic Level) Practise (中文) 1003.我要通过!(20)
- PAT乙级真题及训练集 PAT (Basic Level) Practise (中文)1003. 我要通过!
- PAT (Basic Level) Practise (中文)1003. 我要通过!(20)
- PAT (Basic Level) Practise (中文)- 1003. 我要通过!(20)
- PAT (Basic Level) Practise (中文) 1003.我要通过
- PAT Basic Level 1003. 我要通过!(20)
- PAT (Basic Level) Practise (中文)1003. 我要通过!(20) C语言
- PAT (Basic Level) Practise 1003. 我要通过!
- PAT(basic level) 1003 我要通过
- PAT 1003 我要通过! (Basic Level)
- PAT (Basic Level) Practise (中文)1003. 我要通过!(20)
- PAT Basic Level 1003:我要通过!
- PAT (Basic Level) Practise (中文)1003. 我要通过!(20)
- PAT(Basic Level)1003 我要通过!
- PAT (Basic Level)1003.我要通过
- PAT BASIC LEVEL 1003. 我要通过!(20)
- PAT (Basic Level) Practise (中文)1003. 我要通过!(20)
- PAT乙级(Basic Level)真题-1003 数素数 (20)
- 我要通过!(20) PAT(Basic Level) Practise NO.1003