【例題】勇者鬥惡龍
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int arr[20005]; int brr[20005]; int main(){ int n,m; while(~scanf("%d%d",&n,&m)&&n&&m){ for(int i=0;i<n;i++) scanf("%d",&arr[i]); for(int i=0;i<m;i++) scanf("%d",&brr[i]); sort(arr,arr+n); sort(brr,brr+m); int cur=0; //需要砍掉頭的編號 int cost=0; //費用 for(int i=0;i<m;i++) if(brr[i]>=arr[cur]){ cost+=brr[i]; if(++cur==n) break; } if(cur>=n) cout<<cost<<endl; else cout<<"Loowater is doomed!"<<endl; } return 0; }
相關推薦
【例題】勇者鬥惡龍
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int arr[20005]; int brr[200
勇者鬥惡龍(uva11292)
勇者鬥惡龍(The Dragon of Loowater, UVa 11292) 你的王國裡有一條n個頭的惡龍,你希望僱一些騎士把它殺死(即砍掉所有頭)。村裡有m個騎士可以僱傭,一個能力值為x的騎士可以砍掉惡龍一個直徑不超過x的頭,且需要支付x個金幣。如何僱傭騎士才能砍掉惡龍的所有頭,且
uva11292勇者鬥惡龍(貪心)
這題使用了貪心的演算法,先用勇士和龍的頭排序,因為要找付給騎士的錢最少的,所以從小到大排序,如果可以砍下來頭的話,就讓騎士的錢加上騎士的身高,讓殺龍的數量加一 如果到最後龍全部被殺了且付的錢大於0,就輸出付給騎士的總錢數:程式碼 #include<bits/stdc++.h>
勇者鬥惡龍5祕籍
vaild 離散金屬13 Dq5禁斷密技初公開–仲間怪物必加入及100%會心一擊 主角如擁有如下6個道具及滿足特定的順序,在這個狀況下與可以加入的怪物戰鬥後(需滿足怪物加入的條件),必定加入及100%會
UVA 11292 勇者鬥惡龍
水題一個,兩個排序解決問題 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int main() { int n,m,sum;
勇者鬥惡龍
有n個頭的惡龍,m個騎士可以僱傭, 一個能力值為x的勇士可以砍掉直徑不超過x的頭,且需要佣金x個金幣, 如何僱傭騎士砍掉所有的頭使支付金幣最少(一個騎士只能砍一個頭) int main()
省選專練之【PKUSC2018】主鬥地
額很清新的一道題 實際上這道題沒有坊間傳的那麼難吧。。。 你仔細觀察會發現如下性質: 對子沒有單牌優(這個好理解如果對子被壓就是單牌被壓兩次) 飛機沒有三帶X優 順子這些更不能出 於是惟一的不確定性在於打幾個三帶X和四帶二 這個可以暴力列
【歌詞】金蛇狂舞-龍飄飄
《金蛇狂舞》歌詞: 十里金蛇舞 十里火龍繞 十里小城不夜天 十里長街人喧鬧 人喧鬧 聲聲炮竹報春早 串串煙花多閃耀 滾滾湧來是人潮 男女和老少 心裡樂陶陶 多少祝福在除夕 無限歡樂是今宵 金蛇在那火中舞 火龍在那雲裡繞 一招更比一招險 一式更比一式妙 忽上又忽下 忽低又忽高
【例題】分金幣
題目:圓桌旁坐著n個人,每個人有一定數量的金幣,金幣總數能被n整除。每個人可以給他左右相鄰的人一些金幣,最終使得每個人的金幣數目相等。你的任務是求出被轉手的金幣數量的最小值。比如n=4,且4個人的金幣數量是1,2,5,4時,只需轉移4枚金幣(第三個人給第二個人兩枚金幣,第二和第四個人分別給第一個
【LeetCode】 127 單詞接龍
解題思路: 1 這道題要找一個最短路徑,可以聯想到圖的相關演算法(雖然我當時沒想到…),那麼是不是應該使用最短路徑的相關演算法呢。其實不用…因為這個圖裡每條邊的長度都是1,用一個廣度優先演算法就搞定了。 2 規模的問題,如果你遍歷List裡的每個單詞的話,你會發現一直超時,因為有
【LeetCode】127. 單詞接龍 結題報告 (C++)
題目描述: 給定兩個單詞(beginWord 和 endWord)和一個字典,找到從 beginWord 到 endWord 的最短轉換序列的長度。轉換需遵循如下規則: 每次轉換隻能改變一個字母。 轉換過程中的中間單詞必須是字典中的單詞。 說明: 如果不存在這樣的轉
【LeetCode】#127單詞接龍(Word Ladder)
【LeetCode】#127單詞接龍(Word Ladder) 題目描述 給定兩個單詞(beginWord 和 endWord)和一個字典,找到從 beginWord 到 endWord 的最短轉換序列的長度。轉換需遵循如下規則: 1.每次轉換隻能改變一個字母。 2.轉換過程中的中間
【LeetCode】#126單詞接龍II(Word Ladder II)
【LeetCode】#126單詞接龍II(Word Ladder II) 題目描述 給定兩個單詞(beginWord 和 endWord)和一個字典 wordList,找出所有從 beginWord 到 endWord 的最短轉換序列。轉換需遵循如下規則: 1.每次轉換隻能改變一個字
【例題】【費馬小定理(降冪)、遞推】NKOJ 3687 整數拆分
NKOJ 3687 整數拆分 時間限制 : - MS 空間限制 : 65536 KB 評測說明 : 時限1000ms 問題描述 給你一個正整數N,F(x)表示把N拆分成x個正整數之
【例題】【揹包動規】NKOJ1123 潛水員
NKOJ1123 潛水員 時間限制 : 10000 MS 空間限制 : 65536 KB 問題描述 潛水員為了潛水要使用特殊的裝備。他有一個帶2種氣體的氣缸:一個為氧氣,一個為氮氣。讓潛水員
【例題】【動規】NKOJ 3686 最大子段和
NKOJ 3686 最大子段和 時間限制 : - MS 空間限制 : 65536 KB 問題描述 給你一個包含n個整數的序列,要求從中取出m個不相交的子段,要求這m個子段的和盡肯能大,輸出這個最大和。 例如,n=7,m=2, 序列如下:
【例題】【動規(最長XX子序列)】NKOJ 1004 攔截導彈
NKOJ 1004 攔截導彈 時間限制 : 1000 MS 空間限制 : 65536 KB 問題描述 某國為了防禦敵國的導彈襲擊,發展出一種導彈攔截系統。但是這種導彈攔截系統有一個缺陷
【例題】【線段樹】連續區間
1、 NKOJ 2753 區間連續值 時間限制 : 10000 MS 空間限制 : 65536 KB 問題描述 有一數列只有0和1構成,數列中數字個數為為n。 現在有m個形式為x y的提問,詢問區間[x,y]中,最多有多少個連續的1。 對
【例題】【圖論(哈密頓迴路)&DP(狀壓)】
1、 NKOJ 3707 送外賣 時間限制 : - MS 空間限制 : 65536 KB 評測說明 : 時限2000ms 問題描述 有一個送外賣的,他手上有n份訂單,他要把n份東西
【例題】【動態樹】
NKOJ3172 OTOCI 時間限制 : 50000 MS 空間限制 : 165536 KB 問題描述 給出n個結點以及每個點初始時對應的權值wi。起始時點與點之間沒有連邊。有3類操作: 1、bridge A B:詢問結點A與結點B是否連通。如