PAT乙级Java实现_1003. 我要通过 _附详细解题注释_03

PAT乙级-题解(Java) 我的题解放在github仓库了(喜欢的话,记得star哈) 下面是汇总导航,如果你只想看其中某个题的话,点击题解直达。 乙级的题目每个题都是一个有趣的故事,引导你去思考解决问题的能力,不是单纯的刷题。然后只涉及数组,循环,判断,字符串等基础编程语言语法的知识,不会设计复杂的算法与数据结构。 一开始可能会有点吃力,正常,但是如果你全部刷完,leetcode上部分简单题对你来说是小case了。 甲级主要是算法与数据结构,乙级刷完了,也可刷甲级, 甲级的题目特别好,测试用例丰富 如果是急需找工作,面试的话刷lee 阅读详情

1003. 我要通过!(20)

时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于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


----------------------------------------------------分割线------------------------------------------------------------

思路:条件一是必须满足的,而且很容易写。重点在对第2个条件和第3个条件的理解。

每个符合条件2的字符串,都能依据条件3继续推出新的字符串,而推出来的字符串又可以继续推下去。

所以可以试着列出几个,找规律。

PAT 这个字符串符合条件2, 则依据条件3推出的字符串为 PAAT,再继续推得 PAAAT,即:

PAT ---> PAAT ---> PAAAT ---> PAAAAT

APATA ---> APAATAA ---> APAAATAAA ---> APAAAATAAAA

AAPATAA ---> AAPAATAAAA ----> AAPAAATAAAAAA ----> AAPAAAATAAAAAAAA 

可以看出,符合条件的字符串aPbTc其中a、b、c的值总会满足 a * b = c这个关系。

import java.util.Scanner;
public class PAT_B_1003//PAT平台提交时需要把类名改为Main
{
	public static void main(String[] agrs)
	{
		Scanner in = new Scanner(System.in);//读取所有输入
		int n = in.nextInt();//读取输入的第一个数字,代表了后面输入的样例数
		in.nextLine();//清除数字后的回车键
		
		for(int i = 0; i < n; i++)//对每个样例都判断
		{
			String str = in.nextLine();//输入的样例字符串
			if(onlyPAT(str))//如果只含有PAT三种字符,则判断是否符合第2、3个条件
			{
				if(aPbTc(str))
				{
					yes();//符合输出YES
				}
				else
				{
					no();//不符合输出NO
				}
			}
			else//不止含有PAT三种字符,输出NO
			{
				no();
			}
		}
	}
	
	public static void yes()//输出YES
	{
		System.out.println("YES");
	}
	
	public static void no()//输出NO
	{
		System.out.println("NO");
	}
	
	public static boolean onlyPAT(String str)
	{//将字符串遍历一遍,有不是PAT字符的则返回false
		for(int i = 0; i < str.length(); i++)
		{
			if(str.charAt(i) != 'P' && str.charAt(i) != 'A' && str.charAt(i) != 'T')
			{
				return false;
			}
		}
		return true;
	}
	
	public static boolean aPbTc(String str)
	{
		int a = str.indexOf("P");//aPbTc 字符串中,a的值,代表字符P前面的A个数
		int c = str.length() - str.indexOf("T") - 1;//aPbTc 字符串中,c的值,代表字符T后面A的个数
		int b = str.indexOf("T") - str.indexOf("P") - 1;//aPbTc 字符串中,b的值,代表P和T中间A的个数
		if((b == 0 ) || (a * b != c))//通过样例可知b不能为0
			return false;
		else
			return true;
	}
}


PAT 甲级 1003-1013代码 压缩包内直接保存的是各题源代码(题意请自行去网上查找),亲测有效 立即下载

相关推荐

乙级pat答案

浙江大学程序设计能力考试PAT乙级所有题目答案(C代码)

PAT1003 (java)

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

weixin_43996001的博客 374

别再乱调了!Zygo MetroPro软件滤波功能保姆级指南,从均值到鲁棒高斯样条一次讲清

本文深入解析Zygo MetroPro软件的滤波功能,从均值滤波到鲁棒高斯样条等九种算法,帮助用户根据测量对象特性选择最佳滤波组合。通过真实工业案例和参数配置指南,提升光学测量数据的准确性和效率,特别适用于硅晶圆、光学镜片等精密测量场景。

weixin_30888413的博客 156

PAT乙级真题 — 1048 数字加密(java)

本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。

2403_89522296的博客 625

Python与PyCharm安装配置教程:从零搭建开发环境

编程入门的第一步是搭建开发环境,而Python解释器与IDE工具的选择常让新手困惑。Python作为解释型语言,负责将代码翻译为机器指令,而PyCharm作为集成开发环境,提供代码编辑、调试与项目管理功能,两者协同工作构成高效开发基础。环境变量PATH的配置是安装过程中的关键环节,正确处理可避免“python不是内部或外部命令”的常见错误。理解pip包管理机制,则能轻松安装第三方库并管理项目依赖。从下载官方安装包到运行第一个Hello World程序,再到利用虚拟环境隔离应用依赖,这套流程适用于Window

benben 685

论文阅读《Eigen-GNN: A Graph Structure Preserving Plug-in for GNNs》

好久没看论文了,感觉好生疏 关于这篇文章的大致脉络,这篇文章已经介绍过了。

且视他人之疑目如盏盏鬼火,大胆地去走你的夜路 461

牛客网 2018校招真题 百度 完成括号匹配

Description 牛客网 2018校招真题 完成括号匹配 Solving Ideas 参考 缺失的括号 Time complexity : O(n)O(n)O(n) Space complexity : O(1)O(1)O(1) Solution import java.io.BufferedReader; import java.io.IOException; import java.io...

wylu 391

【目标检测】yoloV5算法详解

一、与yoloV4相比,yoloV5的改进 输入端:在模型训练阶段,使用了Mosaic数据增强、自适应锚框计算、自适应图片缩放 基准网络:使用了FOCUS结构和CSP结构 Neck网络:在Backbone和最后的Head输出层之间插入FPN_PAN结构 Head输出层:训练时的损失函数GIOU_Loss,预测筛选框的DIOU_nns 二、yoloV5结构框架 CBL:CBL模块是由Conv+BN+Leaky_relu激活函数组成 Res unit:借鉴ResNet中的残差结构,用来构建深层网络,CBM是

qq_40373651的博客 2万+

pat乙级-1003 我要通过!(java)

如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字符串,或者是仅由字母 A 组成的字符串。* 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;//判断A的个数是否符合。* 字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;//判断是否包含其他字符。//判断P T是否大于1。//判断是否都包含PAT。

weixin_45862034的博客 452

使用R语言获取泊松回归模型的事件密度比(Incidence Rate Ratio,IRR)的95%置信区间

在泊松回归模型中,我们通常关注的是自变量对事件发生率的影响,而事件密度比(Incidence Rate Ratio,IRR)可以帮助我们理解不同自变量对事件发生率的相对影响。在本文中,我们将使用R语言来获取泊松回归模型所有系数的事件密度比的95%置信区间。通过以上步骤,我们可以使用R语言获取泊松回归模型所有系数的事件密度比的95%置信区间。为了获取事件密度比的置信区间,我们将使用。使用R语言获取泊松回归模型的事件密度比(Incidence Rate Ratio,IRR)的95%置信区间。

BugCrusher的博客 1264

【WorkBuddy专栏51】Codex与WorkBuddy的底层基因——两条完全不同的AI智能体路线(上)

【WorkBuddy专栏51】Codex与WorkBuddy的底层基因——两条完全不同的AI智能体路线(上)

AI人人懂 2173

PAT乙级【Java题解合集】

超级全的PAT的JAVA题解

小羊不会飞的博客 3732

量化交易python代码解析:从狙击手算法到最优限价算法

在金融市场的竞技场上,量化交易如同一位冷静的策略大师,它以数学模型为剑,以计算机程序为盾,精准出击,捕捉市场的微妙波动。本文将深入探讨五种核心量化交易算法:直接委托算法(DMA)、时间加权平均算法(TWAP)、冰山算法(Iceberg)、狙击手算法(Sniper)、条件委托算法(Stop)以及最优限价算法(BestLimit),揭开它们背后的运作机制与实战应用。

木头大左的博客 1887

PAT甲级 1003 java做法 及常见错误分析

题目: 1003 Emergency (25 分) As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue ...

qq_31310291的博客 659

斗鱼直播间弹幕爬虫实战:WebSocket连接与实时数据采集

在数据驱动的时代,直播平台的弹幕数据蕴含着巨大的价值——用户行为分析、舆情监控、弹幕情感分析、直播热度评估等应用场景层出不穷。斗鱼作为国内领先的直播平台,其弹幕系统基于WebSocket协议实现实时双向通信。本文将带您从零开始,使用Python构建一个完整的斗鱼直播间弹幕爬虫系统。

2201_76125261的博客 136

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

[PAT-乙级]PAT:B1003 我要通过!(20 分)

PAT:B1003 我要通过!(20 分) “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。 得到“答案正确”的条件是: 字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符; 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,...

Ecloss 2094

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

1003. 我要通过!(20)-浙大PAT乙级真题Java实现

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

JingLisen的博客 1289

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

PAT1003 我要通过!

“答案正确”是自动判题系统给出的最令人欢喜的回复。

eCode代码加工厂 938

PAT 1003.我要通过!(20) java

1003. 我要通过!(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串

vveveup的博客 1824

PAT 甲级1003 [java] 刷题

题目: 1003 Emergency (25 分) As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue te...

hihiztc的博客 559

PAT练习 我要通过! JAVA

我要通过!

paradipose的博客 591

PAT乙级1003 我要通过!(java)

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

weixin_37734061的博客 313

PAT乙级测试题及JAVA参考例程

PAT就是浙江大学程序设计能力考试,网址为http://www.patest.cn。考试分为乙级、甲级和Top。这里分享一下乙级测试题和我实现的一些解法,如果有不同的解法或者更好的实现方式,欢迎在文章下面回复。主要是在提交的时候,需要注意编译器里为Main.class 所以主类的命名要为Main。 1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz

真仙忆梦的博客 7166

Pat乙级1003JAVA代码——我要通过

pat1003我要通过 题目网址:https://pintia.cn/problem-sets/994805260223102976/problems/994805323154440192 题目描述: 我要通过 “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。 得到“答案...

little_meng的博客 368
上一篇: PAT乙级Java实现_1002. 写出这个数 _附详细解题注释_02
下一篇: PAT乙级Java实现_1004. 成绩排名 _附详细解题注释_04
coder__666
博客等级 码龄9年 42粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值