PAT 1003. 我要通过!(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
- #include<stdio.h>
- #include<string.h>
- int main(){
- /*
- 后前面A的数目/P前面A的数目等于P与A中间的A的数目。
- 办法有点笨
- */
- int n;
- scanf("%d",&n);
- char c[];
- int i;
- int b;//数组长度
- float a1=;//P前面A的数目
- float a2=;//P后面,T中间,A的数目
- float a3=;//T后面A的数目
- int k1=;//P的数目
- int k2=;//T的数目
- int p;//P的位置
- int t;//T的位置
- int y;//跳出第二层循环
- while(n--)
- {
- y = ;
- k1 = ;
- k2 = ;
- a1 = ;
- a2 = ;
- a3 = ;
- scanf("%s",c);
- b = strlen(c);
- /*
- 判断是不是有多个P或T以及P与T的位置
- */
- for(i=;i<b;i++)
- {
- if(c[i]=='P')
- {
- p = i;
- k1++;
- }
- if(c[i]=='T')
- {
- t = i;
- k2++;
- }
- }
- if(k1!=||k2!=)
- {
- printf("NO\n");
- continue;
- }
- /*
- 计算P之前A的数目,同时若不是A字符输出NO
- */
- for(i=;i<p;i++)
- {
- if(c[i]=='A')
- {
- a1++;
- }
- else
- {
- printf("NO\n");
- y=;
- break;
- }
- }
- if(y)
- {
- continue;
- }
- /*
- 判断P与T之间的A的数目,若不是A字符输出NO
- */
- for(i=p+;i<t;i++)
- {
- if(c[i]=='A')
- {
- a2++;
- }
- else{
- printf("NO\n");
- y=;
- break;
- }
- }
- if(y)
- {
- continue;
- }
- /*
- 计算T之后A的数目,不是字符A输出NO
- */
- for(i=t+;i<b;i++)
- {
- if(c[i]=='A')
- {
- a3++;
- }
- else{
- printf("NO\n");
- break;
- }
- }
- /*
- 判断条件
- */
- if(a1!=)
- {
- if(a3/a1!=a2)
- {
- printf("NO\n");
- continue;
- }
- }
- /*
- 若a1是0则a3也一定是0
- */
- else
- {
- if(a3!=)
- {
- printf("NO\n");
- continue;
- }
- }
- if(a2==)
- {
- printf("NO\n");
- continue;
- }
- /*
- 其他条件都成立
- */
- printf("YES\n");
- }
- }
PAT 1003. 我要通过!(20)的更多相关文章
- 牛客网 PAT 算法历年真题 1003: 数素数 (20)
1003:数素数 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整 ...
- PAT 1003我要通过!
PAT 1003 我要通过! 答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的"答案正确"大派送 -- 只要读入的字符串满足下列条件,系统就输出&qu ...
- PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数
PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数 ...
- PAT乙级:1088 三人行 (20分)
PAT乙级:1088 三人行 (20分) 题干 子曰:"三人行,必有我师焉.择其善者而从之,其不善者而改之." 本题给定甲.乙.丙三个人的能力值关系为:甲的能力值确定是 2 位正整 ...
- PAT乙级:1064 朋友数 (20分)
PAT乙级:1064 朋友数 (20分) 题干 如果两个整数各位数字的和是一样的,则被称为是"朋友数",而那个公共的和就是它们的"朋友证号".例如 123 和 ...
- PAT 1003 我要通过!(20)(代码+思路)
1003 我要通过!(20)(20 分)提问 "答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于PAT的"答案正确"大派送 -- 只要读入的字符串满足下 ...
- PAT 1003. 我要通过!(20) JAVA
参考http://blog.csdn.net/bin8632/article/details/50216297 答案正确"是自动判题系统给出的最令人欢喜的回复.本题属于PAT的"答 ...
- PAT乙级 1009. 说反话 (20)
1009. 说反话 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一句英语,要求你编写程序,将句中 ...
- PAT乙级-1057. 数零壹(20)
给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多少1.例如给定字符串" ...
随机推荐
- android 比较完善json请求格式
public static String getHttpText(String url) { if (MyApplication.FOR_DEBUG) { Log.i(TAG, "[getH ...
- 安装SqlServer的时候性能计数器注册表配置单元一致性失败的解决办法
http://www.2cto.com/database/201204/126772.html
- 去掉字符序列左边和右边的空格 trim()
str = " ai lafu yo ";str = trim(str); 输出的将是"ai lafu yo"
- mysql锁机制总结
1.隔离级别 (1)读不提交(Read Uncommited,RU) 这种隔离级别下,事务间完全不隔离,会产生脏读,可以读取未提交的记录,实际情况下不会使用. (2)读提交(Read commited ...
- mysql优化案例分析
本文总结了一些工作常见的sql优化例子,虽然比较简单,但很实用,希望对大家有所帮助.sql优化一般分为两类,一类是sql本身的优化,如何走到合适的索引,如何减少排序,减少逻辑读:另一类是sql本身没有 ...
- Android搭建junit测环境
在AndroidManifest.xml文件中增加两个东西,分别是: 1.uses-library ,位于application里面. 2.instrumentation,与application同级 ...
- DBA的技能图谱
最近发现公布的技术岗位的技能图谱中没有DBA的,比较心塞,于是根据自己的工作经验写了一个,写的过程中发现,还的不断的完善,但是先放出来,欢迎大家提建议.
- 烂泥:nagios监控单网卡双IP
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司的业务有几台服务器存放在IDC机房中,说是双线路.但是我看到网卡的配置是单网卡双IP的形式.如下: 而公司这边的线路是联通的IP,如下: nagio ...
- 描述Linux运行级别的0-6的各自含义(计时1分钟)
中文: 0:关机 1:单用户模式 2:无网络支持的多用户模式 3:有网络支持的多用户模式(文本模式,工作中最常使用的模式) 4:保留,未使用 5:有网络支持有X-Window支持的多用户模式 6:重新 ...
- android WebView网页浏览器
组件位置:composite>WebView .xml <WebView android:id="@+id/webview_pipeweb" android:layou ...