18118 勇者鬥惡龍

2021-10-05 22:56:06 字數 1187 閱讀 7161

時間限制:800ms **長度限制:10kb

提交次數:0 通過次數:0

題型: 程式設計題 語言: g++;gcc;vc

有n個頭的惡龍,你希望僱一些騎士把它殺死(即砍掉所有頭)。村里有m個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍

乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只

能砍乙個頭(且不能被僱傭兩次)

多組資料,每組資料的第一行為正整數n和m(1<=n,m<=200000);以下n行每行為乙個整數,即惡龍每個頭的直徑;以下m行每行為

乙個整數,即每個騎士的能力。輸入結束標誌n=m=0;

輸出格式:每組資料,輸出最少花費,無解輸出"loowater is doomed!"

2 3547

842 15510

0 011

loowater is doomed!

作者 admin

解題思路:將騎士從1到m試探,此過程看看可以砍掉哪些龍頭;注意關閉流同步輸入,否則超時。

#include

#include

using namespace std;

int knight[

200005];

int head[

200005];

intmain()

if(j-

1==n)

//如果已經砍完龍頭 }if

(j-1

!=n)

cout<<

"loowater is doomed!"

<}return0;

}

secondly:

#include

#include

#include

using

namespace std;

int a[

200005

],b[

200005];

intmain()

if(cur>m)

//騎士無了

break;}

if(cut_head!=n)

cout<<

"loowater is doomed!"

cout<}return0;

}

18118 勇者鬥惡龍

時間限制 800ms 記憶體限制 65535k 提交次數 0 通過次數 0 題型 程式設計題 語言 g gcc vc 有n個頭的惡龍,你希望僱一些騎士把它殺死 即砍掉所有頭 村里有 個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍 乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的...

SCAU 18118 勇者鬥惡龍

description 有n個頭的惡龍,你希望僱一些騎士把它殺死 即砍掉所有頭 村里有 個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍 乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只 能砍乙個頭 且不能被僱傭兩次 輸入格式 多組資...

勇者鬥惡龍

一 勇者鬥惡龍 你的王國有一條n個頭的惡龍,你希望顧一些騎士把他殺死 即砍掉所有的頭 村中有m個騎士可以僱傭,乙個能力值位x的騎士可以砍掉惡龍乙個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有的頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭 且不能被僱傭兩次 輸入格式 輸...