[PAT]1003. 我要通过!(20)


答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。

得到“答案正确”的条件是:

1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符; 2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串; 3. 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a, b, c 均或者是空字符串,或者是仅由字母 A 组成的字符串。

现在就请你为PAT写一个自动裁判程序,判定哪些字符串是可以获得“ 答案正确”的。

输入格式: 每个测试输入包含1个测试用例。第1行给出一个自然数n (<10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过100,且不包含空格。

输出格式:每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出YES,否则输出NO。

输入样例:

YES
YES
YES
YES
NO
NO
NO
NO
#include<stdio.h>int main(){ int n =0; scanf("%d",&n); for(int i=0;i<n;i++){ char s[101] = {'0'}; scanf("%s",s); char * a = s; int index_p = -1; int index_t = -1; int count_p = 0; int count_t = 0; int count_a = 0; int counter=0; while(*a){ if(*a=='P'){ index_p = counter; count_p++; } if(*a=='T'){ index_t = counter; count_t++; } if(*a == 'A') count_a++; counter++; a++; } if(count_p+count_t+count_a!=counter||index_t-index_p<=1||count_p>1||count_t>1||index_p*(index_t-index_p-1)!=counter-index_t-1) printf("NO\n"); else printf("YES\n"); }}
				
时间: 2024-10-07 13:06:46

[PAT]1003. 我要通过!(20)的相关文章

PAT Basic 1069. 微博转发抽奖(20)

小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数M(<= 1000).N和S,分别是转发的总量.小明决定的中奖间隔.以及第一位中奖者的序号(编号从1开始).随后M行,顺序给出转发微博的网友的昵称(不超过20个字符.不包含空格回车的非空字符串). 注意:可能有人转发多次,但不能中奖多次.所以如果处于当前中奖位置的网友已经中过奖,则跳过他顺次取下一位. 输出格式: 按照输入的顺序

通过路由器静态PAT访问FTP服务器测试

1.测试拓扑: R2 (FTP Client 202.100.1.2/24)-------------------(202.100.1.2/24)  R1 (10.1.1.1/24)---------------------(10.1.1.18/24)FTP Server 参考链接:http://www.zhangdaqian.net/blog/atpat中对于ftp的处理,以及pat后的非标准21-ftp端口设置.htm 2.测试目标:  通过测试,理解FTP的两种模式:被动模式,主动模式 A

[HW] OJ记录20题之四

1 表示数字 #include <iostream> #include <string> using namespace std; int main() { string str; while (cin>>str) { string res = ""; for (int i = 0; i < str.size(); i++) { if (str[i] >= '0' && str[i] <= '9') { if (i

c c++ acm-浙江大学PAT上机题,求解析. 表达式转换

问题描述 浙江大学PAT上机题,求解析. 表达式转换 算术表达式有前缀表示法.中缀表示法和后缀表示法等形式.日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间.请设计程序将中缀表达式转换为后缀表达式. 输入格式说明: 输入在一行中给出不含空格的中缀表达式,可包含+.-.*.以及左右括号(),表达式不超过20个字符. 输出格式说明: 在一行中输出转换后的后缀表达式,要求不同对象(运算数.运算符号)之间以空格分隔,但结尾不得有多余空格. 样例输入与输出: 序号 输入 输出 1 2+

PAT Basic 1073. 多选题常见计分法

题目内容 多选题常见计分法(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 批改多选题是比较麻烦的事情,有很多不同的计分方法.有一种最常见的计分方法是:如果考生选择了部分正确选项,并且没有选择任何错误选项,则得到50%分数:如果考生选择了任何一个错误的选项,则不能得分.本题就请你写个程序帮助老师批改多选题,并且指出哪道题的哪个选项错的人最多. 输入格式: 输入在第一行给出两个正整数N(<=1000)和M

第 20 章 Nagios

目录 20.1. Install 20.1.1. Nagios core 20.1.2. Monitor Client nrpe 20.1.3. Monitoring Windows Machines 20.1.4. PNP4Nagios 图表插件 20.2. nagios 20.3. nrpe node 20.4. 配置 Nagios 20.4.1. authorized 20.4.2. contacts 20.4.3. hostgroups 20.4.4. generic-service 2

20 5-IOS 审核被拒因为20.5的问题

问题描述 IOS 审核被拒因为20.5的问题 彩票APP总是一直因为一个授权的问题被拒,前辈们知道怎么解决吗? Reasons 20.5: Apps that offer real money gaming (e.g. sports betting, poker, casino games, horse racing) or lotteries must have necessary licensing and permissions in the locations where the App

精简的20个PS功能常用快捷键

  一.常用的热键组合 1.图层混合模式快捷键:正常(Shift + Option + N),正片叠底(Shift + Option + M),滤色(Shift + Option + S),叠加(Shift + Option + O),柔光(Shift + Option + F),饱和度(Shift + Option + T),颜色(Shift + Option + C),明度(Shift + Option + Y). 2.混合模式循环热键(Shift + – /+):该组快捷键方便你在整套混合

100*100像素的bmp图片缩小为20*30大小的bmp图片是怎样的原理 ?

问题描述 100*100像素的bmp图片缩小为20*30大小的bmp图片是怎样的原理 ? 百度的答案好像说是涉及傅里叶算法,没有搞明白,求大神说明原理,是相邻的几个像素平均成一个像素? 解决方案 这类算法很多,基本原理是"映射".就是说这个算法定义了如何把一个像素点映射到目标像素点.比如一个10x10的图片,你想把它拉成20x20的图片,你可以设计一个最简单的算法,把(x,y)[x,y从1开始]映射到(2x-1,2y-1)(2x-1,2y)(2x,2y-1)(2x,2y)这四个点. 解