例题1:勇士斗恶龙

来源:互联网 发布:python matrix 编辑:程序博客网 时间:2024/04/28 22:16

题目:你的王国里有一条n个头的恶龙,可以雇佣骑士把它杀死,村里有m个骑士,能力值为x的骑士可以砍掉一个恶龙直径不超过x的头,且需支付金币x,怎样才能杀死恶龙并且支付金币最少?(一个骑士只能砍一个头,雇佣一次)

#include <iostream>using namespace std;void main(){//这里偷懒不输入了,a[]表示恶龙的头的直径,b[]表示骑士的能力值//int a[2]={5,5},b[1]={10};int a[2]={5,4},b[3]={7,8,4};int min=0,temp;bool flag;//flag用于标记是否完成任务    for(int i=0;i<2;++i){temp=1000;flag=0;for(int j=0;j<3;++j){if(b[j]>=a[i] && b[j]<temp){temp=b[j];flag=1;b[j]=0;//如果雇佣,则能力值清空,防止重复雇佣}}if(0==flag){cout<<"Loowater is doomed"<<endl;break;}elsemin+=temp;}    if(1==flag)cout<<min<<endl;system("pause");}