当前位置: 首页 > news >正文

180天做180个网站/网络营销与策划

180天做180个网站,网络营销与策划,万州工程建设招投标网站,建委网站所说建设单位目录题目描述1003 我要通过! (20 分)输入格式输出格式输入样例输出样例思路条件1:只能包含 P A T 三种字符条件2: xPATx 可以判定为正确条件3:如果 aPbTc 是正确的,那么 aPbATca 也是正确的代码实现补充:…

目录

  • 题目描述
    • 1003 我要通过! (20 分)
    • 输入格式
    • 输出格式
    • 输入样例
    • 输出样例
  • 思路
    • 条件1:只能包含 'P' 'A' 'T' 三种字符
    • 条件2: xPATx 可以判定为正确
    • 条件3:如果 aPbTc 是正确的,那么 aPbATca 也是正确的
  • 代码实现
    • 补充:c++ find函数(自己写一个也非常容易,这里不赘述)

题目描述

1003 我要通过! (20 分)

“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。
得到“答案正确”的条件是:

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

输入格式

每个测试输入包含 1 个测试用例。第 1 行给出一个正整数 n (<10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过 100,且不包含空格。

输出格式

每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出 YES,否则输出 NO。

输入样例

10
PAT
PAAT
AAPATAA
AAPAATAAAA
xPATx
PT
Whatever
APAAATAA
APT
APATTAA

输出样例

YES
YES
YES
YES
NO
NO
NO
NO
NO
NO

思路

条件1:只能包含 ‘P’ ‘A’ ‘T’ 三种字符

通过一个循环,遍历字符串的每一位,如果该位字符不是 “PAT” 中的任意一个,则应该输出 NO

bool check(string s){for(int i=0;i<s.length();i++){if(s[i]!='P'&&s[i]!='A'&&s[i]!='T')return false;}
}

条件2: xPATx 可以判定为正确

其中x为空字符串""

例如:PAT

x也可以是 仅由字符 ‘A’ 组成的字符串

例如:
APAT
AAPATAA
AAAPATAAA
A…APATA…A

总结PAT两边可以有任意相同个数的 ‘A’

条件3:如果 aPbTc 是正确的,那么 aPbATca 也是正确的

这里对 abc 的要求与 条件2 对 x 的要求一致
我们很容易知道 正确答案的最短字符串是:PAT
在这图片描述在这里插入图片描述

在这里插入图片描述
我们可以发现,其实两个判断是等价的
1.aPbTc
2.aPbATca
只要将第二个的ca看做是c’ ,b+1看作是b’ , 这两个条件是可以互相转化的
在这里插入图片描述
当我们逆向的观察变化,b 每增加 1,c 就增加 a(这里的增加指增加"A"的个数)
我们还可以观察到:

1.a始终都没有发生变化,a的取值由初始值决定
2.b每次只增加1
3.c每次增加 a*(b的增加量)

在这里插入图片描述
注意:如果a的初始值是0的话,那k>=1的情况就变成条件2了
总结P之前 'A’的个数 = P与T之间’A’的个数 * T之后’A’的个数 :c=a*b

结合三个条件 , 总结起来就是:
1.P和T只能出现一次,而且P在T之前
2.P和T之间至少1个’A’
3.P之前 'A’的个数 = P与T之间’A’的个数 * T之后’A’的个数

代码实现

补充:c++ find函数(自己写一个也非常容易,这里不赘述)

在这里插入图片描述

#include <iostream>
#include <string>
using namespace std;
int n;//需要检测的字符串的个数
string a[20];//存放要输入的字符串
bool b[20];//存放输出结果
string ans[]={"NO","YES"};//下标0刚好是NO,下标1刚好是YES,对应false和true
bool check(string s){//P出现的位置,T出现的位置,P出现的个数,T出现的个数int P_loc=-1,T_loc=-1,P_Num=0,T_Num=0;//P之前A的个数,P与T之间A的个数,T之后A的个数int A_Num1=0,A_Num2=0,A_Num3=0;P_loc=s.find('P');T_loc=s.find('T');if(P_loc>T_loc) return false;//如果P在T之后if(P_loc+1==T_loc) return false;//如果P和T是相邻的for(int i=0;i<s.length();i++){if(P_Num>1||T_Num>1) return false;if(s[i]=='P'){P_loc=i;P_Num++;//记录P出现的次数} else if(s[i]=='T'){T_loc=i;T_Num++;//记录T出现的次数} //记录三种情况A出现的次数else if(s[i]=='A'){if(P_loc!=-1&&i<P_loc)A_Num1++;if(P_loc!=-1&&T_loc!=-1&&i>P_loc&&i<T_loc)A_Num2++;if(T_loc!=-1&&i>T_loc)A_Num3++;} else return false;}if(A_Num2*A_Num1==A_Num3)return true;return false;
}
int main(){cin>>n;for(int i=0;i<n;i++){cin>>a[i];b[i]=check(a[i]);}for(int i=0;i<n;i++)cout<<ans[b[i]]<<endl;
}
http://www.lbrq.cn/news/792199.html

相关文章:

  • 商标查询网站建设/2022近期时事热点素材
  • 河北网络公司网站建设/seo网站优化收藏
  • 西安现在可以自由出入吗/秦皇岛seo招聘
  • 做视频的背景音乐哪里下载网站/百度收录检测
  • 盘锦做网站选哪家好/我的百度账号
  • 海外培训视频网站建设/seo求职信息
  • asp网站栏目修改/营销推广计划
  • 网站设计超链接怎么做/无安全警告的浏览器
  • 微信如何做网站/设计网站官网
  • 简述网站开发具体流程图/银川seo优化
  • 无锡定制化网站建设/百度搜索推广怎么做
  • wordpress 当前列表数/南昌seo技术外包
  • 360建筑网兼职/惠州百度seo在哪
  • 如何在yahoo上做网站/广告投放平台排名
  • 深圳 b2c 网站建设/手机建站平台
  • 易语言如何做网站/如何推广好一个产品
  • 做代购网站如何缴税/对网络营销的认识有哪些
  • 网站建设常见问题/百度手机助手下载
  • 做新闻网站需要什么手续/seo排名培训
  • 比较好的网页设计网站/媒体发布公司
  • 河南外贸网站建设/友情链接批量查询
  • 河南建设委员会官方网站/百度搜索引擎优化详解
  • 东莞朝阳网站建设/互联网营销外包推广
  • 工商营业执照注册网站/公司网站开发费用
  • 知识库搭建工具/sem优化软件选哪家
  • 如何搭建一个简单的网站/百度客服中心人工电话
  • 阜宁做网站哪家好/2020年百度搜索排名
  • 怎么用手机制作手机网站/快速优化关键词排名
  • 微信二次开发/seo代码优化
  • css做电商网站二级菜单栏/企业微信管理系统
  • Nvidia Orin DK 刷机CUDA TensorRT+硬盘扩容+ROS+Realsense+OpenCV+Ollama+Yolo11 一站式解决方案
  • GitOps:云原生时代的革命性基础设施管理范式
  • 自动驾驶中的传感器技术15——Camera(6)
  • 深入 Go 底层原理(三):Goroutine 的调度策略
  • 红黑树(RBTree)
  • kong网关集成Safeline WAF 插件