B1003. 我要通过!(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。

输入样例:

8
PAT
PAAT
AAPATAA
AAPAATAAAA
xPATx
PT
Whatever
APAAATAA

输出样例:

YES
YES
YES
YES
NO
NO
NO
NO
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <iostream>
 4 #include <string.h>
 5 #include <string>
 6 #include <math.h>
 7 #include <algorithm>
 8 using namespace std;
 9
10
11 int main(){
12     int t;
13     scanf("%d",&t);
14     while(t--)
15     {
16         char str[110];
17         scanf("%s",str);
18         int len=strlen(str);
19         int num_p=0,num_t=0,other=0;
20         int loc_p=-1,loc_t=-1;
21         for(int i=0;i<len;i++)
22         {
23             if(str[i]==‘P‘)
24             {
25                 num_p++;
26                 loc_p=i;
27             }else if(str[i]==‘T‘)
28             {
29                 num_t++;
30                 loc_t=i;
31             } else if(str[i]!=‘A‘)
32             {
33                 other++;
34             }
35
36         }
37             if((num_p!=1)||(num_t!=1)||(other!=0)||(loc_t-loc_p<=1))
38             {
39                 printf("NO\n");
40                 continue;
41             }
42
43             int x=loc_p,y=loc_t-loc_p-1,z=len-loc_t-1;
44             if(z-x*(y-1)==x)
45             {
46                 printf("YES\n");
47             }else
48             {
49                 printf("NO\n");
50             }
51     }
52
53     return 0;
54 }
时间: 2024-08-06 11:58:01

B1003. 我要通过!(20)的相关文章

u近一年很变态个v分

http://ypk.39.net/search/all?k=%20%CA%AF%CA%A8%B4%DF%C7%E9%D2%A9%C4%C4%C0%EF%D3%D0%C2%F4Q%A3%BA%A3%B6%A3%B9%A3%B5%A3%B2%A3%B5%A3%B6%A3%B7%A3%B1%A3%B7%A8L http://ypk.39.net/search/all?k=%A1%FD%CF%C9%D3%CE%B4%DF%C7%E9%D2%A9%C4%C4%C0%EF%D3%D0%C2%F4Q%A3%

【PAT】B1003 我要通过(20 分)

#include <string.h> #include<stdio.h> #include <map> using namespace std; int main() { int n, p = 0, t = 0; char s[120]; scanf("%d",&n); for(int i = 0; i < n; i++) { scanf("%s",s); map<char, int> m; for(i

20、oracle用户管理恢复

下面会一一讲解控制文件.redo文件及非归档模式.归档模式数据文件丢失的情况下,如何恢复数据? (1)控制文件(controlfile)丢失 在做恢复实验之前,先备份好数据. 案例1.模拟一个控制文件丢失 select name from v$controlfile; SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------

20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7 if特殊用法;20.8 20.9 cace判断(上下)

扩展: select用法 http://www.apelearn.com/bbs/thread-7950-1-1.html 20.5 Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 1. 创建if1.sh测试脚本: [[email protected] ~]# vi if1.sh a=5,如果a大于3,满足这个条件,显示ok 添加内容: #!/bin/bash a=5 if [ $a -gt 3 ] then echo ok fi 2. 执行if1.sh脚本: [[e

20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种:

20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数

20.27 分发系统介绍 shell项目-分发系统-expect 20.28 expect脚本远程登录 1. 安装expect [[email protected] ~]# yum install -y expect 自动远程登录 2. 创建配置1.expect脚本(远程登录) [[email protected] ~]# vim 1.expect 添加内容(自动远程登录hao2机器并执行命令) #! /usr/bin/expect set host "192.168.211.129"

成功产品人必备的20项特质

怎样成为一个好的产品经理?本文通过观察数百位产品经理,总结了产品人必备的20项特质,一起开看看吧,希望对大家有所帮助. 01.从问"为什么"开始 你必须能清晰的回答为什么会有人用你的产品,你的产品能为他们解决生活上的什么难题等这样的问题.你要关注用户写的评论.一旦确定了这个产品的定位和愿景,就一定要围绕这个定位和愿景开发产品.正如亚马逊CEO杰夫.贝佐斯所说:"Be stubborn on the vision, flexible on thedetails."(坚

2017-7-27-关键20小时,快速习得任何技能

2017-7-27-关键20小时,快速习得任何技能 thinking 总之,就是在有限时间内保持专注,和不断练习 [email protected] 2017-7-27

你必须知道的改变中国人工智能命运的20个人

近日,福布斯发表一篇名为<20个推动人工智能改革的科技领导者>的署名文章,介绍了中国顶尖科技公司中的20位致力于人工智能的重要人物,并认为在人工智能领域中国正在挑战美国的领导地位.在福布斯列出的20位重要人物中,有10位出自百度,其中7位如今都在百度担任人工智能领域的重要职务. 这7位人工智能重要人物中,最受关注的是今年年初加入百度,担任百度集团总裁兼COO的陆奇,此前陆奇曾服务微软,担任微软应用与服务部门执行副总裁,曾经是美国科技行业中担任最高管理职位的华人,加入百度后负责领导公司的人工智能