鄂州市 网站建设,新乡做网站的公司有那些,wordpress remove js,2022装修简约风格效果图题目
“答案正确是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件#xff0c;系统就输出“答案正确”#xff0c;否则输出答案错误”。
得到答案正确的条件是#xff1a;
字符串中必…题目
“答案正确是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件系统就输出“答案正确”否则输出答案错误”。
得到答案正确的条件是
字符串中必须仅有 P、 A、 T这三种字符不可以包含其它字符任意形如 xPATx 的字符串都可以获得“答案正确”其中x 或者是空字符串或者是仅由字母A 组成的字符串如果aPbTc 是正确的那么 aPbATca 也是正确的其中 a、 b、 c 均或者是空字符串或者是仅由字母 A 组成的字符串。
现在就请你为 PAT 写一个自动裁判程序判定哪些字符串是可以获得“答案正确”的。
分析
题目内容较多慢慢读下来以第2个条件为基础结合第3个条件多写几个字符串最后有以下3点
字符串有且仅能有P、A、T 这3种字符P和T中间必须有A设P前面A的数目为a1P和T中间的为a2T之后的为a3。三者满足a3a1*a2。
AC代码
#includeiostream
#includestring
#includecstring
using namespace std;
string judge(string s)
{int i,a10,a20,a30,flag0,lens.length()1;int p0,t0;string result;char ch[len];strcpy(ch, s.c_str());for(i0;ilen-1;i){if(ch[i]A){if(flag0)a1;else if(flag1)a2;elsea3;}else if(ch[i]P){flag1;p;}else if(ch[i]T){flag2;t;}else{return NO;} }if(a20)return NO;if(p!1)return NO;if(t!1)return NO;if(a1*a2a3)resultYES;elseresultNO;return result;
}
int main()
{int i,n;cinn;string s;for(i0;in;i){cins;if(i!n-1)coutjudge(s)endl;elsecoutjudge(s);}return 0;
}欢迎点赞、评论、收藏有任何问题评论区一起讨论吧
更多题解 pat 乙级 题解汇总持续更新C