Week14 A Q老師與石頭剪刀布(必做)

2021-10-07 03:07:55 字數 1959 閱讀 4986

week14 a - q老師與石頭剪刀布(必做)

每乙個大人曾經都是乙個小孩,q老師 也一樣。

為了回憶童年,q老師 和 monika 玩起了石頭剪刀布的遊戲,遊戲一共 n 輪。無所不知的 q老師 知道每一輪 monika 的出招,然而作為限制, q老師 在這 n 輪遊戲中必須恰好出 a 次石頭,b 次布和 c 次剪刀。

如果 q老師 贏了 monika n/2(上取整) 次,那麼 q老師就贏得了這場遊戲,否則 q老師 就輸啦!

q老師非常想贏,他想知道能否可以贏得這場遊戲,如果可以的話,q老師希望你能告訴他一種可以贏的出招順序,任意一種都可以。

input

第一行乙個整數 t(1 ≤ t ≤ 100)表示測試資料組數。然後接下來的 t 組資料,每一組都有三個整數:

第一行乙個整數 n(1 ≤ n ≤ 100)

第二行包含三個整數 a, b, c(0 ≤ a, b, c ≤ n)。保證 a+b+c=n

第三行包含乙個長度為 n 的字串 s,字串 s 由且僅由 『r』, 『p』, 『s』 這三個字母組成。第 i 個字母 s[i] 表示 monika 在第 i 輪的出招。字母 『r』 表示石頭,字母 『p』 表示布,字母 『s』 表示剪刀

output

對於每組資料:

如果 q老師 不能贏,則在第一行輸出 「no」(不含引號)

否則在第一行輸出 「yes」(不含引號),在第二行輸出 q老師 的出招序列 t。要求 t 的長度為 n 且僅由 『r』, 『p』, 『s』 這三個字母構成。t 中需要正好包含 a 個 『r』,b 個 『p』 和 c 個 『s』

「yes」/"no"是大小寫不敏感的,但是 『r』, 『p』, 『s』 是大小寫敏感的。

example

input

231

11rps330

0rps

output

yes

psrno

解題思路

先記錄有多少個石頭 布 剪刀

用石頭 布 剪刀的數量先算出能否贏得比賽

若能贏 將贏得比賽所需的數量減去

模擬比賽 得出結果

code

#include

#include

#include

using

namespace std;

int t;

int n;

int a,b,c;

int aa,bb,cc;

char ss[

110]

;char z[

110]

;int r,p,s;

intmain()

else

if(ss[i]

=='p'

)else

if(ss[i]

=='s')}

int w=0;

aa=0;bb=

0;cc=0;

//cout<<"n="//減去贏下比賽需要的數量

if(a<=s)

else

if(b<=r)

else

if(c<=p)

else

if(w>=

ceil

(n/2.0))

else

else}}

}else

if(ss[i]

=='p'

)else

else}}

}else

if(ss[i]

=='s'

)else

else}}

}}//cout}else

}}

A Q老師與石頭剪刀布

每乙個大人曾經都是乙個小孩,q老師 也一樣。為了回憶童年,q老師 和 monika 玩起了石頭剪刀布的遊戲,遊戲一共 n 輪。無所不知的 q老師 知道每一輪 monika 的出招,然而作為限制,q老師 在這 n 輪遊戲中必須恰好出 a 次石頭,b 次布和 c 次剪刀。如果 q老師 贏了 monika...

week14作業E Q老師度假

忙碌了乙個學期的 q老師 決定獎勵自己 n 天假期。假期中不同的穿衣方式會有不同的快樂值。已知 q老師 一共有 m 件襯衫,且如果昨天穿的是襯衫 a,今天穿的是襯衫 b,則 q老師 今天可以獲得 f a b 快樂值。在 n 天假期結束後,q老師 最多可以獲得多少快樂值?輸入 輸入檔案包含多組測試樣例...

Week14 石頭剪刀布

每乙個大人曾經都是乙個小孩,q老師 也一樣。為了回憶童年,q老師 和 monika 玩起了石頭剪刀布的遊戲,遊戲一共 n 輪。無所不知的 q老師 知道每一輪 monika 的出招,然而作為限制,q老師 在這 n 輪遊戲中必須恰好出 a 次石頭,b 次布和 c 次剪刀。如果 q老師 贏了 monika...