1003 我要通過! (20 分)
「答案正確」是自動判題系統給出的最令人歡喜的回覆。本題屬於 pat 的「答案正確」大派送 —— 只要讀入的字串滿足下列條件,系統就輸出「答案正確」,否則輸出「答案錯誤」。
得到「答案正確」的條件是:
字串中必須僅有p
、a
、t
這三種字元,不可以包含其它字元;
任意形如xpatx
的字串都可以獲得「答案正確」,其中x
或者是空字串,或者是僅由字母a
組成的字串;
如果apbtc
是正確的,那麼apbatca
也是正確的,其中a
、b
、c
均或者是空字串,或者是僅由字母a
組成的字串。
現在就請你為 pat 寫乙個自動裁判程式,判定哪些字串是可以獲得「答案正確」的。
每個測試輸入包含 1 個測試用例。第 1 行給出乙個正整數 n (<10),是需要檢測的字串個數。接下來每個字串佔一行,字串長度不超過 100,且不包含空格。
每個字串的檢測結果佔一行,如果該字串可以獲得「答案正確」,則輸出yes
,否則輸出no
。
8
patpaat
aapataa
aapaataaaa
xpatx
ptwhatever
apaaataa
yes
yesyes
yesno
nono
no
#include#includeintmain()
}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 ...