國王遊戲 大整數用自己寫的vector做的

2021-09-25 20:31:31 字數 1236 閱讀 8097

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

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

輸入格式

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

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

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

輸出格式

乙個整數,表示重新排列後的隊伍中獲獎賞最多的大臣所獲得的金幣數。

注意以大臣的左右手之和從小到大排序,證明在這裡不多說有興趣的小夥伴可以手動推一遍,還需要注意的是需要找到大臣中的最大金幣數量

#include#include#include#includeusing namespace std;

vectormul(vectora, int b)

while (t)

return c;

}vectordiv(vectora, int b)

t = t % b;

} return c;

}const int n = 10010;

typedef pairpii;

pii p[n];

vectormax_vector(vectora, vectorb)

return a; }}

int main()

sort(p + 1, p + 1 + n);

vectorres;

vectore(1,a);

while (a)

for (int i = 1; i < n; i++)

res = max_vector(res, div(e, p[n].second));

for (int i = 0; i < res.size(); i++)

cout << res[i];

cout << endl;

system("pause");

return 0;

}

自己寫的c 大整數計算BigInt類

演算法使用vector儲存變數,使用乙個flug來儲存正負。過載的運算子有 還有string型別轉換運算子,輸出運算子 建構函式有預設建構函式 0 從string構造 支援開頭有無限個 號,但不支援正號 從bigint構造,從long long構造 從而可以支援大多數c 的基本型別 基本原理和手工列...

自己寫的小遊戲,玩玩

tchar.h ifndef trect define trect include struct trect public rect endif twindow.h pragma once include include include trect.h define black false defi...

寫乙個自己的遊戲引擎

以下是我的一點看法,另外推薦一些學習的資料 ps 小弟才搞3d一年的時間,還是cn,高手不要笑話,還請大家多多指點 首先是語言方面,這個問題沒有太多的選擇的餘地,基本上只有用c 現在還在堅持用純c來寫引擎的估計只有卡馬克同學了 語言的功底是特別重要的了 大規模專案的編寫能力也是很重要的,推薦看 大規...