【PAT】B1003 我要通过!
我觉得这是PAT中最坑的一道题,表述令人很不适应
分析过程:
条件1.只有P,A,T三种字符
条件2.xPATx正确,x可以是空串,或者由A组成的字符串
条件3.如果aPbTc是正确的,aPbATca也是正确的,a,b,c与上一条件x相同
1,2为基本条件,根据1,2推3
根据条件1,2=》》》xPATx正确
条件3中:
首先有xPATx正确
aPbTc中a=x,b=1,c=x;
则有aPbATca中a=x,b+1=2,c+a=2x;
则有a=x,b+1=3,c+a=3x;
。。。。
以此类推可得对于aPbTc要满足ab=c,而且b》=1
<-------------------------------------------->
解决了逻辑问题,要处理代码了。
将一行数据存入字符串,遍历,每个字符map映射加一,并保存PT的位置
只要map中PT只有一个,A至少一个
另外要使ab = c,只要p * (t - p - 1) == strlen(arr) - t - 1,不用考虑T是否在P前边,如果那样计算出来的b为负
#include<stdio.h>
#include<string.h>
#include<map>
using namespace std;
int main() {
int N; scanf("%d", &N);
for (int i = 0; i<N; i++) {
char arr[101];
scanf("%s", arr);
int p, t;
map<char, int> mp;
for (int j = 0; j<strlen(arr); j++) {
mp[arr[j]]++;
if (arr[j] == 'P') p = j;
if (arr[j] == 'T') t = j;
}
if (mp['P'] == 1 && mp['T'] == 1 && mp['A'] != 0 && mp.size() == 3 && p*(t - p - 1) == strlen(arr) - t - 1) {
printf("YES\n");
}
else {
printf("NO\n");
}
}
return 0;
}
【PAT】B1003 我要通过!的更多相关文章
- PAT B1003 我要通过!
“答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”. 得到“答案正确”的条件是: 1 ...
- 《转载》PAT 习题
博客出处:http://blog.csdn.net/zhoufenqin/article/details/50497791 题目出处:https://www.patest.cn/contests/pa ...
- PAT Judge
原题连接:https://pta.patest.cn/pta/test/16/exam/4/question/677 题目如下: The ranklist of PAT is generated fr ...
- PAT/字符串处理习题集(二)
B1024. 科学计数法 (20) Description: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+ ...
- PAT 1041. 考试座位号(15)
每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座 ...
- PAT 1040. 有几个PAT(25)
字符串APPAPT中包含了两个单词"PAT",其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问 ...
- PAT 1032. 挖掘机技术哪家强(20)
为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第1行给出不超过105的正整数N,即参赛人数.随后N行,每行给出一位 ...
- pat甲级题解(更新到1013)
1001. A+B Format (20) 注意负数,没别的了. 用scanf来补 前导0 和 前导的空格 很方便. #include <iostream> #include <cs ...
- PAT (Basic Level) Practise 1040 有几个PAT(DP)
1040. 有几个PAT(25) 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CAO, Peng 字符串APPAPT中包含了两个单 ...
随机推荐
- Python解析HDF文件 分类: Python 2015-06-25 00:16 743人阅读 评论(0) 收藏
前段时间因为一个业务的需求需要解析一个HDF格式的文件.在这之前也不知道到底什么是HDF文件.百度百科的解释如下: HDF是用于存储和分发科学数据的一种自我描述.多对象文件格式.HDF是由美国国家超级 ...
- leetcode — median-of-two-sorted-arrays
import java.util.HashSet; import java.util.Set; /** * Source : https://oj.leetcode.com/problems/long ...
- 人生第一次成功的sql注入
看了一些学习视频,按着大神们的教程,搜索inurl:asp?id=,结果一个可以注入的站点都找不到,绝望. 不放弃,又找啊找,找啊找,终于找到了一个! 啦啦啦,注入点!ヾ(o◕∀◕)ノヾ!! 再来查数 ...
- JavaWeb学习 (九)————HttpServletRequest对象(一)
一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...
- 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 <深入理解Java虚拟机> 第四章 ,为了整理思路,简单记录一下,方便后期查阅. JDK本身提供了很多方便的JVM性 ...
- 在Web.config或App.config中的添加自定义配置 <转>
.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置 ...
- jsp使用servlet实现用户登录 及动态验证码
在进行表单设计中,验证码的增加恰恰可以实现是否为“人为”操作,增加验证码可以防止网站数据库信息的冗杂等... 现在,我将讲述通过servlet实现验证码: 验证码作为一个图片,在页面中为“画”出来的, ...
- blfs(systemd版本)学习笔记-前几章节的脚本配置
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 记录blfs书籍前几个章节的配置内容. bash shell启动文件章节 1.切换root用户 su 2.创建/etc/prof ...
- Docker 修改存储路径
Docker 版本 1.13 及以下 systemctl stop docker.service cp /usr/lib/systemd/system/docker.service /home/doc ...
- sql server:Monty Hall problem (蒙提霍尔问题)
--------------------------------------------------------------------- -- Auxiliry Table of Numbers 数 ...