PTA 1003 我要通过! (20 分)
1003 我要通过! (20 分)
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 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
题记:
不得不承认这个题刚开始我没看懂,后来百度到一种思路:
通过的条件是:①字符串中有一个P,一个T,若干个A,没有其他字母。②P左边A的个数 × P、T之间A的个数 = T右边A的个数。
我们先验证一下上面说到的条件是不是对的:(显然①没有争议,直接看②。)
对于题中给的条件1:0 × 1 = 0。符合。
条件2:x × 1 = x。符合。
条件3:若aPbTc
是正确的,那么 a × b = c,显然 a ×(b+1)= a × b + a = c + a ,那么 aPbATca
也是正确的。符合。
验证看懂了之后也就明白②的公式怎么来的了,至于自己做题怎么想到这个思路,还是要多做题多练习……
有了思路之后,做题就很容易了,其他不多说,看代码。
参考链接:1003 我要通过!(20)(20 分)
C++代码:
#include<cstdio>
#include<iostream>
using namespace std;int main (){int n;cin >> n;getchar();while(n--){int flag_word = 1;//记录字符类型,若出现PAT之外的字母则变为0 int flag_position = 1;//记录字符位置,P前1,P~T之间2,T后3int num_P=0, num_T=0, num_A=0, num_A1=0, num_A2=0, num_A3=0;//输入并记录各个量 for (char word; word=getchar(), word!='\n'; ){if(flag_position == 1){if(word == 'P'){flag_position ++;num_P ++;}else if(word == 'A'){num_A ++;num_A1 ++;}else{flag_word = 0;}}else if(flag_position == 2){if(word == 'T'){flag_position ++;num_T ++;}else if(word == 'A'){num_A ++;num_A2 ++;}else{flag_word = 0;}}else if(flag_position == 3){if(word == 'A'){num_A ++;num_A3 ++;}else{flag_word = 0;}}}//判断是否符合条件并输出 if(flag_word && num_A && num_P==1 && num_T==1 && num_A1*num_A2==num_A3){cout << "YES" << endl;}else{cout << "NO" << endl;}} return 0;
}
PTA 1003 我要通过! (20 分)相关推荐
- PTA 7-9 叶节点求和 (20 分)
PTA 7-9 叶节点求和 (20 分) 对给定的有N个节点(N>=0)的二叉树,求叶节点元素之和 没有当过父节点的节点都是叶子节点 #include <iostream> #inc ...
- C++学习之路 | PTA乙级—— 1084 外观数列 (20 分)(精简)
1084 外观数列 (20 分) 外观数列是指具有以下特点的整数序列: d, d1, d111, d113, d11231, d112213111, - 它从不等于 1 的数字 d 开始,序列的第 n ...
- C++学习之路 | PTA乙级—— 1082 射击比赛 (20 分)(精简)
1082 射击比赛 (20 分) 本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军:谁差得最远,谁就是菜鸟.本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟.我 ...
- C++学习之路 | PTA乙级—— 1068 万绿丛中一点红 (20 分)(精简)
1068 万绿丛中一点红 (20 分) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点 ...
- C++学习之路 | PTA乙级—— 1063 计算谱半径 (20 分)(精简)
1063 计算谱半径 (20 分) 在数学中,矩阵的"谱半径"是指其特征值的模集合的上确界.换言之,对于给定的 n 个复数空间的特征值 { a 1 +b 1 i,⋯ ...
- C++学习之路 | PTA乙级—— 1057 数零壹 (20 分)(精简)
1057 数零壹 (20 分) 给定一串长度不超过 10 5 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N ...
- C++学习之路 | PTA乙级—— 1048 数字加密 (20 分)(精简)
1048 数字加密 (20 分) 本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 ...
- C++学习之路 | PTA乙级—— 1047 编程团体赛 (20 分)(精简)
1047 编程团体赛 (20 分) 编程团体赛的规则为:每个参赛队由若干队员组成:所有队员独立比赛:参赛队的成绩为所有队员的成绩和:成绩最高的队获胜. 现给定所有队员的比赛成绩,请你编写程序找出冠军队 ...
- C++学习之路 | PTA乙级—— 1043 输出PATest (20 分)(精简)
1043 输出PATest (20 分) 给定一个长度不超过 10 4 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest- 这样的顺序输出,并忽略其它字符.当然 ...
- C++学习之路 | PTA乙级—— 1042 字符统计 (20 分)(精简)
1042 字符统计 (20 分) 请编写程序,找出一段给定文字中出现最频繁的那个英文字母. 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串.字符串由 ASCII 码表中任意可见字符及空 ...
最新文章
- esp32 python-MicroPython for esp32
- WINCE6.0+S3C2443下的activesync问题
- Linux学习:文件描述符相关函数
- 一步一步学习OC2007(三)--定制菜单命令
- mapper代理(十一)
- Spring Boot(一)—— Spring Boot 入门
- html5css3js文件作业,HTML5 CSS3 JavaScriptWeb前端开发自测试卷2.docx
- “西邮漫记”--自由照耀中国
- python requests 提示警告 InsecureRequestWarning
- python数字图像处理(10):图像简单滤波
- 手机突然变卡,不得不重置
- 网页设计中常用的Web安全字体
- Ubuntu下如何查看GPU版本和使用信息
- python黑客帝国代码雨源代码_黑客帝国数字雨 源代码分享
- 移动领先100笔试面试经验
- 【刷题】BZOJ 1487 [HNOI2009]无归岛
- 计算机机械硬盘系统安装,电脑硬盘安装图解,机械硬盘安装-
- 一统大数据江湖,趣话图说“存算分离”武学心法
- SpeechRecognition离线语音识别
- gel和react哪个厉害_都是顶级缓震,亚瑟士GEL和耐克React谁更胜一筹?__拼团团购网...
热门文章
- Linux系统load average异常值处理的trick
- python画人脸代码_[转]7行Python代码的人脸识别
- 【毕业设计】基于微信小程序的在线答题考试系统
- matlab2014b与carsim8.02联合仿真可能遇到的问题
- 计蒜客 god of gambler
- 02.yuyv转rgb888代码优化
- Kotlin: Classifier ‘Demo1‘ does not have a companion object, and thus must be initialized here
- 试图加载格式不正确的程序 解决方法
- 苹果xr如何关机_苹果新系统让这些 iPhone 电量满血复活
- 网易云信七鱼市场总监姜菡钰:实战解读增长黑客在B端业务的运用