所有人要坐进同一个圈。壮工不能坐在学徒腿上;在这个限制下,把底分和坐法加减分加到最大。人数每种最多 20,同种人没有区别,可以用记忆化搜索枚举圈上的下一个人。
年会上,同事围成一个圈。每个人坐到身后那位的腿上,圈子要能一起转起来。人分三种:壮工记作 H,每人 2 分;女工记作 F,每人 1 分;学徒记作 A,每人 0.5 分。箭头 X→Y 表示 X 坐在 Y 的腿上。
坐法按下述方式计分:
所有人都要进同一个圈。请选出总分最高的坐法。圈排不出来时,总分记为 0.0。结果保留一位小数,整数值也要写成带小数点的形式。
共三行,每行一个整数。
第一行是学徒人数 a,第二行是女工人数 f,第三行是壮工人数 h。
0≤a,f,h≤20,并且 a+f+h≥2。
输出一行。这个数保留一位小数,表示最高总分。
1
2
1
6.5
说明
一名学徒、两名女工、一名壮工。三人原有分数加起来是 0.5+1+1+2=4.5。
可以让学徒坐到一名女工腿上,这名女工再坐到壮工腿上,壮工坐到另一名女工腿上,那名女工坐回学徒。A→F→H 加 3 分,H→F 扣 1 分。总分 4.5+3−1=6.5。
2
0
3
0.0
说明
没有女工。学徒连成一段时,段口仍然会轮到壮工坐上学徒的腿,圈排不出来,总分记为 0.0。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册