N0 1勇者鬥惡龍

2021-08-21 15:11:55 字數 871 閱讀 3085

王國裡有一條n個頭的惡龍,你希望僱傭一些騎士把它殺死(砍掉所有的頭)。村里有m個騎士可以僱傭,乙個能力值為x的騎士可以砍掉惡龍乙個致敬不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且需要支付的金幣最少?注意,乙個騎士只能砍乙個頭(且不能被僱傭兩次)。

輸入格式:輸入包含多組資料。每組資料的第一行為正整數n和m(1<=n,m<=20000);以下n行每行為乙個整數,即惡龍每個頭的直徑;以下m行每行為乙個整數,即每個騎士的能力。

輸入結束標誌為n=m=0.

輸出格式:對於每組資料,輸出最少花費。如果無解,輸出「loowater is doomed!」。

樣例輸入:

2 32 1

0 0樣例輸出:

loowater is doomed!

#include #include using namespace std;

const int maxn=20000+5;

int a[maxn],b[maxn];

int main()

if(cur作為基本的入門acm程式需要對程式注意的是:

1,.sort函式在algorithm標頭檔案下

2.定義乙個較大陣列時要將其定義在函式外部,定義在內部時會發生一些東西。宣告空間時後面要加上隨意不會對其產生較大影響的數,減少擺動。申請時形式固定。

3.對於這個函式來說,在筆者寫時產生過乙個疑問如果存在這種情況該如何:10 8     5 6    ...這兩組數前面那個數對應勇者能力,後面兩個代表惡龍,那麼數6(能力與龍頭均經過排序)怎樣消滅判斷。在程式中乙個很重要的量起到了很重要的作用:cur,在進行消滅龍頭的迴圈中,當例子中5無法消滅6時,if(++cur==m)這一判斷使cur增加一,即漏掉的龍頭,這樣最後用cur與n相比可得能不能消滅龍頭。

勇者鬥惡龍

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

勇者鬥惡龍

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

勇者鬥惡龍

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