PTA乙級題 1003 我要通過! (20 分)

2022-05-12 18:21:24 字數 1299 閱讀 9970

1003 我要通過! (20 分)

「答案正確」是自動判題系統給出的最令人歡喜的回覆。本題屬於 pat 的「答案正確」大派送 —— 只要讀入的字串滿足下列條件,系統就輸出「答案正確」,否則輸出「答案錯誤」。

得到「答案正確」的條件是:

字串中必須僅有pat這三種字元,不可以包含其它字元;

任意形如xpatx的字串都可以獲得「答案正確」,其中x或者是空字串,或者是僅由字母a組成的字串;

如果apbtc是正確的,那麼apbatca也是正確的,其中abc均或者是空字串,或者是僅由字母a組成的字串。

現在就請你為 pat 寫乙個自動裁判程式,判定哪些字串是可以獲得「答案正確」的。

每個測試輸入包含 1 個測試用例。第 1 行給出乙個正整數 n (<10),是需要檢測的字串個數。接下來每個字串佔一行,字串長度不超過 100,且不包含空格。

每個字串的檢測結果佔一行,如果該字串可以獲得「答案正確」,則輸出yes,否則輸出no

8

patpaat

aapataa

aapaataaaa

xpatx

ptwhatever

apaaataa

yes

yesyes

yesno

nono

no

#include#include

intmain()

}for(int i=0;i)

if(str[i]=='p'

)else

if(str[i]=='t'

) }

int len =strlen(str);

if(flag==0&&flag_1==0

)else

if(left*(right-left-1)==(len-1-right))

else

}else

}if(flag==1||flag_1==1)printf("

no\n");

}

return

0;

}

PAT乙級 1003 我要通過

考察了分而治之的思想。題目的表述讓我聯想起表示式的bnf描述 乙個數是表示式 在表示式兩邊加個括號也是表示式 兩個表示式相加也是表示式 接下來你全懂了 實際上就是按照題目要求,將檢查指標細分,以求達到庖丁解牛 逐個擊破的效果。源 c include include 得到 答案正確 的條件是 字串中必...

PAT乙級考試 1003 我要通過!

題目 思路錄入資料 由於給出的字串數量不多,建立乙個二維陣列儲存原始的字串,錄入字串時,注意把每行最後的 n替換為 0,方便後續的判斷 再建立乙個陣列儲存結果用於列印。判斷字串是否符合要求 前兩個條件很好理解,這裡不再贅述 對於第三個條件,我們設串中 p 前面的 a 有l個,p 和 t 中間的 a ...

1003 我要通過! 20 PAT乙級真題

用map對映陣列map儲存各個字母出現的次數 p和t各出現一次,a不止出現一次,沒有別的字母出現,p和t之間的a個數不為0,滿足開頭的a的個數 中間的a的個數 結尾的a的個數 include include using namespace std int main if m p 1 m a 0 m ...