【C语言】PAT(Basic Level) 1003 “答案正确”是自动判题系统给出的最令人欢喜的回复。 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。
规则
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。
得到“答案正确”的条件是:
- 字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;
- 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;
- 如果 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 “答案正确”是自动判题系统给出的最令人欢喜的回复。 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。相关推荐
- PAT (Basic Level) Practice (中文)答案合集
准备复试专用,目标刷完全部中文题! 1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ...
- PAT basic level 答案+解题思路+难点 (个人刷题记录)
PAT basic level 使用语言:C++ 仅记录一下自己刷题过程的心得体会 永远保持更新(期待更好的解法) 可能有些题没有(那就是我还没做出来,以后会更的!) 欢迎大家与我讨论交流√ 题目序列 ...
- PAT (Basic Level) Practice (中文)1003 我要通过! (20 分)
题目 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出"答案正 ...
- PAT (Basic Level) Practice (中文)1003 我要通过! (20分) (从编程题目挖掘幼儿算数)
1.题目 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出"答 ...
- PAT (Basic Level) Practice 1003
题目 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出"答案正 ...
- PAT乙级真题全集-PAT (Basic Level) Practise (中文)
1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...
- PTA平台 · PAT(Basic Level) Practice(中文) 题目集
前 言 ※ PTA是 程序设计类实验辅助教学平台 ,里边包含一些编程题目集以供练习. ※ PAT是 浙江大学计算机程序设计能力考试(Programming Ability Test),分为乙级( ...
- PAT (Basic Level) Practice1003 我要通过!
1003 我要通过! 一.题目 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系 ...
- 1048 数字加密【PAT (Basic Level) Practice (中文)】
1048 数字加密[PAT (Basic Level) Practice (中文)] 原题链接:1048 数字加密 (pintia.cn) 1.前言 PAT(乙级)2015年冬季考试 第三题 分数: ...
最新文章
- 双端队列 HDOJ 3530 Subsequence
- 使用Git子模块和开发模式管理Python项目
- espcms /public/class_connector.php intval truncation Vul Arbitrary User Login
- 为GitHub项目加入Travis-CI的自动集成
- android jenkins 动态版本,Jenkins工具(二)之 Jenkins集成android工程
- 使用tar或dd等完成Linux系统备份恢复
- Message Code 【27796】 Failed to connect to server 'hostname';port_ld': 'reason'.
- Word中插入图片只显示一部分
- Cookie用法大全
- [人工智能-深度学习-23]:卷积神经网络CNN - 卷积核的本质是多维输入的神经元
- Scratch 游戏项目学习法 —— 接苹果(十)接住苹果
- python如何对excel批量加密_用python加密excel工作表
- Python之selenium进阶
- 自媒体人绝对要知道的6款软件工具!免费文案、配音不在话下
- 51单片机与STM32的区别(为何51单片机IO引脚的驱动能力弱)
- linux do_irq 报错 代码,linux-2.6.38中断机制分析—asm_do_IRQ
- 抓包工具wireshark和Fiddler的使用
- 天猫精灵 python_GitHub - zhjc1124/tmallgenius: 天猫精灵打卡
- 解决tomcat运行报错java.lang.UnsatisfiedLinkError: apache-tomcat-7.0.37\bin\tcnative-1.dll:Can load AMD 64
- 研发者的重要武器!5大就业方向供你选择
热门文章
- 随笔感悟:程序员的“孩纸们”
- round在python是什么意思_python3.3.2我对函数“round”有正确的理解吗?
- CTF_Web:从0学习Flask模板注入(SSTI)
- 中芯国际二零一八年第二季度业绩公布
- 简述数学建模的过程_数学建模的一般步骤
- 数据分析学习 excel的骚操作合集(则秀excel课程笔记)
- Windows怎么删除多余的右键打开方式
- UVA - 1471 Defense Lines 贪心+二分
- 中标麒麟——初次体验,感觉流畅
- 我的世界java版怎么选择版本_《我的世界》游戏版本太多,玩家该如何选择?听听老玩家怎么说...