规则

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

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

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

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

输入格式:

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

输出格式:

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

输入样例:

8
PAT
PAAT
AAPATAA
AAPAATAAAA
xPATx
PT
Whatever
APAAATAA

输出样例:

YES
YES
YES
YES
NO
NO
NO
NO

1.字符串中必须有’P’,‘T’,‘A’;
2.‘P’必须在‘T’之前,A穿插其中;
3.P前面的A的个数 乘以 P和T之间的A的个数 等于 T后面的A的个数(这一点是看了别人的答案才发现的)。
{
若ab=c成立,
则:
a
(b+1)=a*b+a=c+a;
满足题意规则的第三点。
}

#include<stdio.h>
#include<string.h>
void main()
{int num,i,j;int ans;//其他字符 int np;//P的个数int na;//A的个数 int nt;//T的个数int loc_p;//记下p的位置int loc_t;//记下T的位置 int pre;//P之前的A个数int in;//P和T之间的A个数int post;//T之后的A个数char str[100];scanf("%d",&num);//要输入的字符串个数for(i=0;i<num;i++){ans=1;np=0;na=0;nt=0; loc_p=0;loc_t=0;scanf("%s",str);for(j=0;j<strlen(str);j++){switch(str[j]){case 'P':np++;loc_p=j;break;case 'A':na++;break;case 'T':nt++;loc_t=j;break;default:ans=0;break;}}pre=loc_p;in=loc_t-loc_p-1;post=strlen(str)-loc_t-1;if((np==1)&&(nt==1)&&(ans==1)&&na&&(loc_p<loc_t)&&(pre*in==post))printf("YES\n");elseprintf("NO\n");}
}

【C语言】PAT(Basic Level) 1003 “答案正确”是自动判题系统给出的最令人欢喜的回复。 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。相关推荐

  1. PAT (Basic Level) Practice (中文)答案合集

    准备复试专用,目标刷完全部中文题! 1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ...

  2. PAT basic level 答案+解题思路+难点 (个人刷题记录)

    PAT basic level 使用语言:C++ 仅记录一下自己刷题过程的心得体会 永远保持更新(期待更好的解法) 可能有些题没有(那就是我还没做出来,以后会更的!) 欢迎大家与我讨论交流√ 题目序列 ...

  3. PAT (Basic Level) Practice (中文)1003 我要通过! (20 分)

    题目 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出"答案正 ...

  4. PAT (Basic Level) Practice (中文)1003 我要通过! (20分) (从编程题目挖掘幼儿算数)

    1.题目 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出"答 ...

  5. PAT (Basic Level) Practice 1003

    题目 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出"答案正 ...

  6. PAT乙级真题全集-PAT (Basic Level) Practise (中文)

    1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...

  7. PTA平台 · PAT(Basic Level) Practice(中文) 题目集

    前  言 ※  PTA是 程序设计类实验辅助教学平台 ,里边包含一些编程题目集以供练习. ※  PAT是 浙江大学计算机程序设计能力考试(Programming Ability Test),分为乙级( ...

  8. PAT (Basic Level) Practice1003 我要通过!

    1003 我要通过! 一.题目 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系 ...

  9. 1048 数字加密【PAT (Basic Level) Practice (中文)】

    1048 数字加密[PAT (Basic Level) Practice (中文)] 原题链接:1048 数字加密 (pintia.cn) 1.前言 PAT(乙级)2015年冬季考试 第三题 分数: ...

最新文章

  1. 双端队列 HDOJ 3530 Subsequence
  2. 使用Git子模块和开发模式管理Python项目
  3. espcms /public/class_connector.php intval truncation Vul Arbitrary User Login
  4. 为GitHub项目加入Travis-CI的自动集成
  5. android jenkins 动态版本,Jenkins工具(二)之 Jenkins集成android工程
  6. 使用tar或dd等完成Linux系统备份恢复
  7. Message Code 【27796】 Failed to connect to server 'hostname';port_ld': 'reason'.
  8. Word中插入图片只显示一部分
  9. Cookie用法大全
  10. [人工智能-深度学习-23]:卷积神经网络CNN - 卷积核的本质是多维输入的神经元
  11. Scratch 游戏项目学习法 —— 接苹果(十)接住苹果
  12. python如何对excel批量加密_用python加密excel工作表
  13. Python之selenium进阶
  14. 自媒体人绝对要知道的6款软件工具!免费文案、配音不在话下
  15. 51单片机与STM32的区别(为何51单片机IO引脚的驱动能力弱)
  16. linux do_irq 报错 代码,linux-2.6.38中断机制分析—asm_do_IRQ
  17. 抓包工具wireshark和Fiddler的使用
  18. 天猫精灵 python_GitHub - zhjc1124/tmallgenius: 天猫精灵打卡
  19. 解决tomcat运行报错java.lang.UnsatisfiedLinkError: apache-tomcat-7.0.37\bin\tcnative-1.dll:Can load AMD 64
  20. 研发者的重要武器!5大就业方向供你选择

热门文章

  1. 随笔感悟:程序员的“孩纸们”
  2. round在python是什么意思_python3.3.2我对函数“round”有正确的理解吗?
  3. CTF_Web:从0学习Flask模板注入(SSTI)
  4. 中芯国际二零一八年第二季度业绩公布
  5. 简述数学建模的过程_数学建模的一般步骤
  6. 数据分析学习 excel的骚操作合集(则秀excel课程笔记)
  7. Windows怎么删除多余的右键打开方式
  8. UVA - 1471 Defense Lines 贪心+二分
  9. 中标麒麟——初次体验,感觉流畅
  10. 我的世界java版怎么选择版本_《我的世界》游戏版本太多,玩家该如何选择?听听老玩家怎么说...