PAT乙级题:1003我要通过!

 1 #include <iostream>
 2 #include <string>
 3 #include <vector>
 4 #include <algorithm>
 5 using namespace std;
 6 //题目贼恶心,竟然没有说出A存在的规律!!!!!
 7 //首先,必须要有PAT存在,且不能有其他字符
 8 //其次P与T中间A的个数乘以P之前的个数==T之后的A的个数!!!!!!!!!
 9 int main() {
10     int n;
11     cin >> n;
12     vector<string> v(n, "YES");
13     for (int i = 0; i < n; ++i) {
14         string s;
15         cin >> s;
16         int p = s.find(‘P‘);
17         int t = s.find(‘T‘);
18         int a = count(s.begin(), s.end(), ‘A‘);//统计A的字符
19         if (p == -1 || t == -1 || (t - 1) <= p || a != (s.size() - 2)) {
20             //P或T或T不在P后面或存在其他字母则输出false
21             v[i] = "NO";
22             continue;
23         }
24         else if (p*(t - p - 1) != (s.size() - 1 - t)) {
25             v[i] = "NO";
26             continue;
27         }
28     }
29     for (int i = 0; i < n; ++i) {
30         cout << v[i] << endl;
31     }
32
33     return 0;
34 }

原文地址:https://www.cnblogs.com/zzw1024/p/10556092.html

时间: 2024-10-07 00:56:56

PAT乙级题:1003我要通过!的相关文章

[PAT乙级] Practise 1003 我要通过!

PAT (Basic Level) Practice (中文)1003 1003 我要通过 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出"答案正确",否则输出"答案错误". 得到"答案正确"的条件是: 字符串中必须仅有 P. A. T这三种字符,不可以包含其它字符: 任意形如 xPATx 的字符串都可以获得"

PAT乙级算法 1003 我要通过!

“答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”. 得到“答案正确”的条件是: 字符串中必须仅有 P. A. T这三种字符,不可以包含其它字符: 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串: 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a. b. c 均或者是空字符串,或者是仅由字母

1050. 螺旋矩阵(25) pat乙级题

本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条件:m*n等于N:m>=n:且m-n取所有可能值中的最小值. 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数.所有数字不超过104,相邻数字以空格分隔. 输出格式: 输出螺旋矩阵.每行n个数字,共m行.相邻数字以1个空格分隔,行末不得有多余空格. 输入样例: 12 37 76 20 98 76 42 53 95

PAT乙级题库“傻瓜题解”之输出PATest

给定一个长度不超过 10?4?? 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出. 输入格式: 输入在一行中给出一个长度不超过 10?4?? 的.仅由英文字母构成的非空字符串. 输出格式: 在一行中按题目要求输出排序后的字符串.题目保证输出非空. 输入样例: redlesPayBestPATTopT

PAT乙级题库“傻瓜”题解之数素数

令 P?i?? 表示第 i 个素数.现任给两个正整数 M≤N≤10的四次方,请输出 P?M?? 到 P?N?? 的所有素数. 输入格式: 输入在一行中给出 M 和 N,其间以空格分隔. 输出格式: 输出从 P?M?? 到 P?N?? 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格. 输入样例: 5 27 输出样例: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 1 #in

PAT乙级题库“傻瓜”题解之划拳

划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒.两人同赢或两人同输则继续下一轮,直到唯一的赢家出现. 下面给出甲.乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒. 输入格式: 输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给出一轮划拳的记录,格式为: 甲喊 甲划 乙喊 乙划 其中喊是喊出的数字,划是划出的数字,均为不超过 100 的正整数(两只

PAT 乙级 1003

题目 题目地址:PAT 乙级 1003 题解 规律观察题,本题的关键在于把题读懂,同时还有几个比较容易疏忽的地方需要注意:总之这道题要考虑的东西更多,细节上也要特别注意: 规律:"如果 aPbTc 是正确的,那么 aPbATca 也是正确的",这是理解本题的关键信息,观察之后会发现,当b的字符串里再增加一个A,那么T之后的字符串就会多出a个A(特别注意,这里的 'ca' 实际上是 c + a 个A字符的关系),那么这个关系也就显而易见了,只有在 a * b = c 的条件下,才会有这样

1054. 求平均值 (20)-PAT乙级真题

今天刚刚到学校,2017年学习正式开始了,今天看到了浙大的<数据结构>这学期又要开课了,决定一定要跟着学习一遍:在大学生mooc网上学习:http://www.icourse163.org/course/zju-93001#/info :然后就是跟着<算法之美>也要同步看完. 然后就在PAT上随便做一道题,这是第一次通过AC,发现了两个比较好的博客主页:http://www.liuchuo.net/  和  https://www.joyhwong.com/   都总结了刷题的过程

PAT乙级1006题python3代码

PAT乙级1006题python3代码 目录 PAT乙级1006题python3代码 目录 代码 题目: 让我们用字母B来表示"百".字母S表示"十",用"12-n"来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个"百".3个"十".以及个位的4. 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000). 输出