普及練習場 貪心 P1080 國王遊戲

2021-10-02 22:41:17 字數 2087 閱讀 7413

題目描述

恰逢 h 國國慶,國王邀請 n 位大臣來玩乙個有獎遊戲。首先,他讓每個大臣在左、右手上面分別寫下乙個整數,國王自己也在左、右手上各寫乙個整數。然後,讓這 n 位大臣排成一排,國王站在隊伍的最前面。排好隊後,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金幣數分別是:排在該大臣前面的所有人的左手上的數的乘積除以他自己右手上的數,然後向下取整得到的結果。

國王不希望某乙個大臣獲得特別多的獎賞,所以他想請你幫他重新安排一下隊伍的順序,使得獲得獎賞最多的大臣,所獲獎賞盡可能的少。注意,國王的位置始終在隊伍的最前面。

輸入輸出格式

輸入格式:

第一行包含乙個整數 n,表示大臣的人數。

第二行包含兩個整數 a和 b,之間用乙個空格隔開,分別表示國王左手和右手上的整數。

接下來 n 行,每行包含兩個整數 a 和 b,之間用乙個空格隔開,分別表示每個大臣左手和右手上的整數。

輸出格式:

輸出只有一行,包含乙個整數,表示重新排列後的隊伍中獲獎賞最多的大臣所獲得的金幣數。

輸入輸出樣例

輸入樣例#1:

31 1

2 37 4

4 6輸出樣例#1:

說明【輸入輸出樣例說明】

按 1、2、3 號大臣這樣排列隊伍,獲得獎賞最多的大臣所獲得金幣數為 2;

按 1、3、2 這樣排列隊伍,獲得獎賞最多的大臣所獲得金幣數為 2;

按 2、1、3 這樣排列隊伍,獲得獎賞最多的大臣所獲得金幣數為 2;

按 2、3、1 這樣排列隊伍,獲得獎賞最多的大臣所獲得金幣數為 9;

按 3、1、2 這樣排列隊伍,獲得獎賞最多的大臣所獲得金幣數為 2;

按 3、2、1 這樣排列隊伍,獲得獎賞最多的大臣所獲得金幣數為 9。

因此,獎賞最多的大臣最少獲得 2 個金幣,答案輸出 2。

【資料範圍】

對於 20%的資料,有 1≤ n≤ 10,0 < a、b < 8;

對於 40%的資料,有 1≤ n≤20,0 < a、b < 8;

對於 60%的資料,有 1≤ n≤100;

對於 60%的資料,保證答案不超過 10^9;

對於 100%的資料,有 1 ≤ n ≤1,000,0 < a、b < 10000。

————————————————

思路:高精度演算法來做。

#include

#include

using

namespace std;

int n;

int len=1;

int a[

100010

],b[

100010

],c[

100010

],g[

1000010];

void

multip

(int x)

len++

;while

(g[len]

>9)

if(g[len]==0

) len--;}

void

div1()

while

(g[len]==0

)//處理首位

len--;if

(len==0)

//防止減完

cout<<

1<}void

quick_sort

(int l,

int r)}if

(lquick_sort

(l,j);if

(iquick_sort

(i,r);}

intmain()

quick_sort(1

,n);

//從第一位大臣處開始排序

g[1]

=b[0];

//賦初值

for(i=

1;i)//所有左手的數字相乘

multip

(i);

divi1()

;//最後乙個得到的最多,所以由n-1個左手乘積/第n個右手乘積

for(i=len;i>=

1;i--

)//倒序輸出

cout<;return0;

}

洛谷試煉場 普及練習場 貪心

1.p1090合併果子 noip2004 優先佇列 貪心 題目鏈結 題目鏈結 2.p1181數列分段 貪心 題目鏈結 蒟蒻題解 3.p1208 usaco1.3 貪心 題目鏈結 蒟蒻題解 4.p1223排隊接水 貪心 題目鏈結 蒟蒻題解 5.p1094紀念品分組 noip2007普及 貪心 題目鏈結...

P1080 國王遊戲 題解(高精度乘除 貪心)

p1080 國王遊戲 題解 題目描述 恰逢 hh國國慶,國王邀請nn 位大臣來玩乙個有獎遊戲。首先,他讓每個大臣在左 右手上面分別寫下乙個整數,國王自己也在左 右手上各寫乙個整數。然後,讓這 nn 位大臣排成一排,國王站在隊伍的最前面。排好隊後,所有的大臣都會獲得國王獎賞的若干金幣,每位大臣獲得的金...

洛谷P1080 國王遊戲 貪心 高精度

p1080 國王遊戲 啊啊啊,剛才已經寫了一次了,但是edge瀏覽器不知道為什麼卡住了,難受。好吧,其實是一道可做題,分析得到的貪心策略就是就是將a b小的放在前面 其他的懶得說了 主要還是要會高精度,要不然寫不出來。ac 借鑑題解大佬的,我自己寫不出來,主要是高精度不太會 include incl...