借鉴柳婼
PAT_B1003题库地址
代码参考柳神,题目原文和链接如上
题目翻译【关键】
答案正确的条件是:必须同时满足两个条件,最后一个是递推【我是翻译君】
- 必须仅 == 只有P,A,T三种字符,并且三种字符必须都有。所以,xPATx,PT,Whatever都是NO。
- (nA)PAT(nA)正确,n表示A的个数,可以为0。例如:正确的有 PAT,APATA,AAPATAA;错误的有APAT,PATA。两边个数一致
- 一个递推关系:
- 如果 aPbTc 是正确的,那么 aPbATca 也是正确的。以此为标准(括号表示新的b和c),往下递推。
- 如果 aPbATca 是正确的,那么 aP(bA)AT(ca)a 也是正确的。此时,bA表示新的b,ca表示新的c
- 如果 aPbAATcaa 是正确的,那么 aP(bAA)AT(caa)a 也是正确的。
- …
- 那么 aPb(nA)Tc(na)是正确的
输入输出分析
xPATx,PT,Whatever显然不满足条件1和2,NO
PAT、AAPATAA显然满足条件1和2,YES
由条件12可得,初始状态满足:b=A,a=c否则不满足条件2
公式:aPb(nA)Tc(na),等价于aP(n+1)AT(n+1)a,n+1倍
也就是说P 和 T 之间A的个数,就是T右边和P左边A个数的比例
以下是一些废话和反推过程
那么PAAT、AAPAATAAAA、APAAATAA都可以通过公式 反推 得到初始字符串:
PAAT反推过程:aPb(nA)Tc(na)
因为a=0,b=A,所以n=1,所以c=0
初始字符串:PAT, YES
AAPAATAAAA反推过程:aPb(nA)Tc(na)
因为a=AA,b=A,所以n=1,所以c=AA
初始字符串:AAPATAA,YES
APAAATAA反推过程:aPb(nA)Tc(na)
因为a=A,b=A,所以n=2,所以c=0
初始字符串:APAT,NO
今天的文章1003. 我要通过!(20)-浙大PAT乙级真题【题意理解,语文题】分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/67178.html