CF488C Fight the Monster

来源:互联网 发布:网络教研总结 编辑:程序博客网 时间:2024/05/20 16:35

题目链接:http://codeforces.com/contest/488/problem/C

题意:

给出

勇士的血量,攻击力,防御力

恶魔的血量,攻击力,防御力

给出提升血量,攻击力,防御力的单价

求打到恶魔的最小花费

所有数字不超过100


思路:

特别简单,枚举攻击力最多到220和防御力最多到110,然后看血,缺多少血买多少即可,更新最小话费


坑:

没有


#include<bits/stdc++.h>#define eps 1e-9#define FOR(i,j,k) for(int i=j;i<=k;i++)using namespace std;typedef long long LL;int i,j,k,n,m,x,T,ans,big,cas,hy,ay,dy,hm,am,dm,h,a,d,m_hp,y_hp,times,myhp,money;bool flag;int main(){scanf("%d%d%d",&hy,&ay,&dy);scanf("%d%d%d",&hm,&am,&dm);scanf("%d%d%d",&h,&a,&d);ans=1<<30;for (i=max(ay,dm+1);i<=220;i++){for (j=dy;j<=110;j++){m_hp=max(0,i-dm);y_hp=max(0,am-j);times=ceil(hm*1.0/m_hp);myhp=times*(y_hp);money=max(myhp-hy+1,0)*h+(i-ay)*a+(j-dy)*d;ans=min(ans,money);}}printf("%d\n",ans); return 0;}


0 0