1003で私がしたいです!(20点)
「正解は、」ほとんどの喜び自動返信文話題与えられたシステムです。このタイトルは、「正解」の大きな配信のPATに属している - ただの文字列以下の条件を満たしている読んで、システムが出力されます「正解」、それ以外の場合は「間違った答えを。」を出力します
「正解」の条件があります:
- 文字列は3文字の唯一のP、A、Tを持っている必要があり、文字は、他のを含めることはできません。
- 任意の形状の文字列がxPATx「正解」を得ることができ、あるいはxは空の文字列、または文字Aでのみからなる文字列です。
- aPbTcが正しい場合、次にaPbATcaは、正確であり、B、C又は全て空の文字列、または文字のみのA.で構成される文字列
今PATの審判プログラムを書くことをお願いすると、自動的に「解答権」を得ることができた文字列を決定します。
入力フォーマット:
各テストは、テスト入力を含みます。ライン1は正の整数N(<10)で与えられ、検出すべき文字列の数です。次に、各列に対して1つの行ではなく、100以上の文字列の長さ、スペースなし。
出力フォーマット:
各文字列の検出結果の行、列は「正しい答え」、出力YES、それ以外の場合は出力NOを得ることができます。
サンプル入力:
8
PAT
PAAT
AAPATAA
AAPAATAAAA
xPATx
PT
Whatever
APAAATAA
出力例:
YES
YES
YES
YES
NO
NO
NO
NO
キー問題解決: すべての要素とPATとの出会い、決意はYESですP前面的A的个数 乘以 P与T之间的A的个数 是否等于 T后面A的个数
AT > 0 and (AP*AT)==TA
ACコード:
def IsPat(s):
Pnum=s.count("P")
Anum=s.count("A")
Tnum=s.count("T")
if Pnum==1 and Tnum==1 and (Pnum+Anum+Tnum)==len(s):
AP=s.find("P") # 找到P的位置就相当于求得了P前面A的个数
T=s.find("T")
AT=T-AP-1
TA=len(s)-T-1
if AT > 0 and (AP*AT)==TA:
print("YES")
else:
print("NO")
else:
print("NO")
n =int(input())
for i in range(n):
s=input()
IsPat(s)
他のものより少しの忍耐は、あなたは奇跡を作成します。