Fzu2252 Yu Gi Oh 列舉 貪心

2021-08-09 02:28:44 字數 1194 閱讀 9129

傳送門:

problem 2252 yu-gi-oh!

另乙個平行宇宙的yellowstar,是一名遊戲王決鬥者,某一天它正在進行一場決鬥,它的場面上擁有a只磁石戰士a,b只磁石戰士β,c只磁石戰士γ。

現在它要把這些怪物進行一波強力的融合,並且它知道:

將磁石戰士a和β融合成為磁石戰士aβ,戰鬥力為ab

將磁石戰士a和γ融合成為磁石戰士aγ,戰鬥力為ac

將磁石戰士β和γ融合成為磁石戰士βγ,戰鬥力為bc

由於yellowstar是一名人生經驗豐富的決鬥者,因此它在本回合可以進行無限次的融合。它想知道經過融合它能得到最大的戰鬥力是多少。

第一行輸入t,表示有t組樣例(t <= 20)

每組樣例為兩行,每行3個數字

第一行為a, b, c (1 <= a, b, c <= 1e6),表示每種怪物的數量

第二行為ab, ac, bc (1 <= ab, ac, bc <= 1e6),分別表示ab,ac,bc融合之後的戰鬥力

每組樣例輸出乙個數字表示答案

21 1 11 2 310 23 155 4 9

3175

第乙個樣例由於每種怪物只有乙隻,因此它選擇融合出戰鬥力最為強大的磁石戰士βγ,答案為3

long long型別請用%i64d輸出

foj有獎月賽-2023年4月(校賽熱身賽)

submit

back

status

discuss

解題:列舉合成ab的個數從0到min(a,b),然後bc,ac貪心先取價值大的。一開始想著三個貪心就好了,都先給最大的,很容易找出反例。。 如果只能合成倆種的話, 那不是很簡單嗎。。 比如abc 只能合成 ab ac, 這樣怎麼做, 肯定把所有資源都給大的,然後剩下的給小的。。肯定不會不給大的給小的把。。然後就列舉某乙個組合的個數, 然後剩下兩個就貪心就好

#include#includeusing namespace std;

typedef long long ll;

int main()

else

sum=max(ans,sum);

} printf("%i64d\n",sum);

} return 0;

}

2 25 演算法練習

時間限制 1.0s 記憶體限制 512.0mb 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位...

藍橋杯 練習(2 25)

時間限制 1.0s 記憶體限制 512.0mb 回形取數就是沿矩陣的邊取數,若當前方向上無數可取或已經取過,則左轉90度。一開始位於矩陣左上角,方向向下。輸入格式 輸入第一行是兩個不超過200的正整數m,n,表示矩陣的行和列。接下來m行每行n個整數,表示這個矩陣。輸出格式 輸出只有一行,共mn個數,...

2 25安卓自學

今天學習tablelayout 如果我們直接往tablelayout中新增元件的話,那麼這個元件將佔滿一行!如果我們想一行上有多個元件的話,就要新增乙個tablerow的容器,把元件都丟到裡面!tablerow中的元件個數就決定了該行有多少列,而列的寬度由該列中最寬的單元格決定 tablerow的l...