PAT 1003 我要通過! 20

2022-09-18 13:39:13 字數 1750 閱讀 4795

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

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

1. 字串中必須僅有p, a, t這三種字元,不可以包含其它字元;

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

3. 如果 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

1 #include2 #include

3int

main()

41if(c[i]=='t'

)4246}

47if(k1!=1||k2!=1)48

52/*

53計算p之前a的數目,同時若不是a字元輸出no

54*/

55for(i=0;i)

5661

else

626768}

69if

(y)70

73/*

74判斷p與t之間的a的數目,若不是a字元輸出no

75*/

76for(i=p+1;i)

7782

else87}

88if

(y)89

92/*

93計算t之後a的數目,不是字元a輸出no

94*/

95for(i=t+1;i)

96101

else

105}

106/*

107判斷條件

108*/

109if(a1!=0

)110

116117

}118

/*119

若a1是0則a3也一定是0

120*/

121else

122128

}129

if(a2==0

)130

134/*

135其他條件都成立

136*/

137 printf("

yes\n

");

138}

139 }

pat 1003 我要通過! 20

答案正確 是自動判題系統給出的最令人歡喜的回覆。本題屬於pat的 答案正確 大派送 只要讀入的字串滿足下列條件,系統就輸出 答案正確 否則輸出 答案錯誤 得到 答案正確 的條件是 1.字串中必須僅有p,a,t這三種字元,不可以包含其它字元 2.任意形如 xpatx 的字串都可以獲得 答案正確 其中 ...

PAT 1003 我要通過!

深刻理解 如果 apbtc 是正確的,那麼 apbatca 也是正確的 可以用數學表示式寫為 a b 1 c a 其中a,b,c,1均為含有字元 a 的個數 故可得len a len b len c 上 思路仿寫了另一位博主的 include include using namespace std ...

PAT 1003 我要通過!

答案正確 是自動判題系統給出的最令人歡喜的回覆。本題屬於pat的 答案正確 大派送 只要讀入的字串滿足下列條件,系統就輸出 答案正確 否則輸出 答案錯誤 得到 答案正確 的條件是 1.字串中必須僅有p,a,t這三種字元,不可以包含其它字元 2.任意形如 xpatx 的字串都可以獲得 答案正確 其中 ...