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...