1003 我要通過! (20 point(s))
“答案正确”是自動判題系統給出的最令人歡喜的回複。本題屬于 PAT 的“答案正确”大派送 —— 隻要讀入的字元串滿足下列條件,系統就輸出“答案正确”,否則輸出“答案錯誤”。
字元串中必須僅有 P、 A、 T這三種字元,不可以包含其它字元;
任意形如 xPATx 的字元串都可以獲得“答案正确”,其中 x 或者是空字元串,或者是僅由字母 A 組成的字元串;
如果 aPbTc 是正确的,那麼 aPbATca 也是正确的,其中 a、 b、 c 均或者是空字元串,或者是僅由字母 A 組成的字元串。
現在就請你為 PAT 寫一個自動裁判程式,判定哪些字元串是可以獲得“答案正确”的。
輸入格式:
每個測試輸入包含 1 個測試用例。第 1 行給出一個正整數 n (≤10),是需要檢測的字元串個數。接下來每個字元串占一行,字元串長度不超過 100,且不包含空格。
輸出格式:
每個字元串的檢測結果占一行,如果該字元串可以獲得“答案正确”,則輸出 YES,否則輸出 NO。
輸入樣例:
結尾無空行
輸出樣例:
這道題看了半天題目是真的沒看懂條件三在說啥,不知道是我了解有問題還是他表達的問題;後面看了别人說條件三就是\((P前的A數量)*(PT中間的A數量)=(T之後的A)\)。
就非常蛋疼,不知道誰能看懂條件三表達的是這個?
然後看了了解,emm感覺自己就是個菜雞
PAT —— 對于 aPbTc 來說ac是空,b是A。是以 PAAT 是正确的。同理PAAAAAT中間加多少個A都是正确哒~ APATA —— 對于aPbTc來說,abc都是A。是以 APAATAA 是正确的。再類推一下,那麼 APAAATAAA 是正确的。 AAPATAA —— 對于aPbTc來說,a和c是AA,b是A。是以AAPAATAAAA是正确的,再類推一下,AAPAAATAAAAAA 是正确的~~ 是以說規律就是,可以在P和T中間加A并且在T後面加A,要求必須是,中間加上一個A,末尾就得加上幾倍的(P前面A的那個字元串)。換句話說就是,中間的A的個數如果是3,那麼末尾的A的個數就得是開頭A的個數的3倍。很巧,當中間A為一個的時候,末尾和開頭A的個數必須相等正好是第二條的要求~
[我的代碼][]