勇者斗恶龙 uva 11292(简单贪心)

思路:先将龙和士兵进行分别排序从小到大。然后,每次找当前最小龙的第一个大于它的骑手之后退出,开始下一个龙,重复上一次操作。

#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=2e4+10;
int a[maxn], b[maxn];
int n, m;

int main(){
    while(cin>>n>>m){
            if(n+m==0)break;
        for(int i=1;i<=n;++i)cin>>a[i];
        for(int i=1;i<=m;++i)cin>>b[i];

        sort(a+1, a+n+1);
        sort(b+1, b+1+m);
        int ans=0;
        bool flag1=1;
       for(int i=1, j=1;i<=n;++i, ++j){
            bool flag2=1;
        for(;  j<=m;++j){
            if(a[i]<=b[j]){ans+=b[j];flag2=0; break;}
        }
            if(flag2){flag1=0; break;}
       }
        if(flag1)cout<<ans<<endl;
        else cout<<"Loowater is doomed!"<<endl;
    }
}

 

转载于:https://www.cnblogs.com/ALINGMAOMAO/p/10712816.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单勇者恶龙游戏的JAVA代码,但需要说明的是,这只是一个简单的示例,如果您想要开发一个完整的游戏,需要更多的时间和精力。 以下是一个简单勇者恶龙游戏的JAVA代码: ```java import java.util.Random; import java.util.Scanner; public class DragonSlayerGame { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Random random = new Random(); //初始化勇者恶龙的属性 int heroHP = 100; int dragonHP = 200; System.out.println("勇者恶龙游戏开始!"); while (true) { //勇者攻击 int heroAttack = random.nextInt(20) + 1; System.out.println("勇者发起了攻击,造成了 " + heroAttack + " 点伤害!"); dragonHP -= heroAttack; //判断恶龙是否死亡 if (dragonHP <= 0) { System.out.println("恭喜你,击败了恶龙!"); break; } //恶龙攻击 int dragonAttack = random.nextInt(30) + 1; System.out.println("恶龙发起了攻击,造成了 " + dragonAttack + " 点伤害!"); heroHP -= dragonAttack; //判断勇者是否死亡 if (heroHP <= 0) { System.out.println("很遗憾,勇者恶龙击败了!"); break; } //打印当前的血量 System.out.println("勇者的血量:" + heroHP); System.out.println("恶龙的血量:" + dragonHP); //等待用户输入 System.out.println("请按回车键继续游戏..."); scanner.nextLine(); } } } ``` 以上代码实现了一个简单勇者恶龙游戏,每次游戏中,勇者恶龙都会攻击对方,直到其中一方的血量降为0,游戏结束。 请注意,这只是一个简单的示例,您需要更多的时间和精力来完善和优化这个游戏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值