0
已解决
赵逸凡
初级启示者
初级启示者
#include<bits/stdc++.h>
using namespace std;
long long m,s,t,g;
int main()
{
cin>>m>>s>>t;
if(m<10)
g=t*17;
else if(m>=10)
{
if(int(m/10)>=t)
g=t*60;
else
g=int(m/10)*60+(t-int(m/10))*17;
}
if(g<s)
cout<<"No\n"<<g;
else if(g>=s)
{
cout<<"Yes\n";
if(m<10)
cout<<ceil(s/17);
else
{
if(int(m/10)>=t)
cout<<ceil(s/(int(m/10)*60));
else cout<<ceil(s/(int(m/10)*60+(t-int(m/10))*17));
}
}
return 0;
}
题面:
魔兽世界是一款革命性的游戏,它开创了至今都被其他游戏模仿的副本系统。每个游戏副本里面一般都有一个最终boss,击败这个最终boss,就可以获得丰厚的奖励。
小P的职业是一名魔法师,小P的普通攻击伤害是17。但是仅仅依靠普通攻击,是不能打败boss的。小P还有魔法技能,伤害为60,使用会消耗10点法力值。小P可以通过休息回复法力值,回复值为4点每秒,休息时不能攻击。
已知小P的法力值为m,boss的血量为s,副本的剩余时间为t,使用技能和普通攻击都是1s。请你计算小P在剩余时间内能否击败boss,若能,输出Yes和最短击败时间,否则,输出No,并计算小P最多能消耗boss多少血量。
乱做的题,WA 0分!样例能过,看题目可以分段做啊,哪有用背包了,不是直接在t的范围内计算最后解吗?怎么用dp推呢?令人迷惑
@黄子扬
采纳者加悬赏20~100豆!!!
赵逸凡在2020-05-09 19:24:07追加了内容
构造和谐问答,从我做起