SUST OJ 1642 絕地求生 死亡順序

2022-07-30 01:36:15 字數 1278 閱讀 2497

時間限制: 1 sec  記憶體限制: 128 mb

提交: 81  解決: 53

[提交][狀態][討論版]最近陝西科技大學六公寓的小東同學深深的入迷了一款遊戲,以至於他想進入這家遊戲公司當程式設計師了。

這款遊戲叫做《絕地求生:大逃殺》。

絕地求生,是一款開放世界策略射擊遊戲,採用虛幻4引擎製作。 是一款大逃殺型別的遊戲,每一局遊戲將有100名玩家參與,他們將被投放在絕地島(battlegrounds)的上空,遊戲開始跳傘時所有人都一無所有。 遊戲展開的方式是:玩家赤手空拳地分布在島嶼的各個角落,利用島上多樣的**與道具。 隨著時間的流逝,島上的安全地帶越來越少,特定地區也會發生轟炸的情況,最終只有一人存活獲得勝利。遊戲的每一局比賽都會隨機轉換安全區,這樣玩家的很新鮮與緊張感會更加強烈。

小東同學玩遊戲也堅決不忘演算法的學習,有一天,他面臨了這樣的情況,小東要前往安全區,他決定冒險通過一片大平原,雖然跑向兩邊的山上更安全,但是時間來不及了。在小東同學奔跑的過程中,渾然不知兩邊的山上各有乙個人趴在那裡埋伏獵物,他們同時發現小東,同時開槍!小東意識到危險了!伴隨了若干聲槍聲,砰砰砰!小東已經倒地了...

小東掛掉之前一秒,意識到了一件事,兩邊的人同時開槍,那麼我又多少種中彈順序呢?比如我有100血,而乙個人用衝鋒槍每發子彈能傷害我30血,另乙個人用步槍每發子彈能傷害我45血,那導致我死亡的中彈順序可能是,30 30 30 45,也可能是 45 45 30,也有可能是45 30 45,等等。當然,血量小於或等於0都算被擊倒。

同時要注意,如果兩人每次對自己造成的傷害是相同的,但仍被看作不同的死亡順序,比如玩家有100血量,左右兩邊的人每次能造成50血量的傷害,那麼答案為4,情況分別為:

50 50(左邊敵人打中了兩槍)。

50 50(右邊敵人打中了兩槍)

50 50(左邊敵人開了第一槍)

50 50(右邊敵人開了第一槍)

本題有多組測試資料。每組佔一行,由三個正整數m n hp組成(10=

對於每組輸入資料,輸出一行,結果為玩家有多少種死亡順序,即中彈順序。

45 30 100

50 50 100

12 23 80

9

434

#includeusing namespace std;

int sum;

int m,n,hp;

void k(int l)

k(l-m);

k(l-n);

} int main()

return 0;

}

SUST OJ 1642 絕地求生 死亡順序

時間限制 1 sec 記憶體限制 128 mb 提交 81 解決 53 提交 狀態 討論版 最近陝西科技大學六公寓的小東同學深深的入迷了一款遊戲,以至於他想進入這家遊戲公司當程式設計師了。這款遊戲叫做 絕地求生 大逃殺 絕地求生,是一款開放世界策略射擊遊戲,採用虛幻4引擎製作。是一款大逃殺型別的遊戲...

164 最大間距

給定乙個無序的陣列,找出陣列在排序之後,相鄰元素之間最大的差值。如果陣列元素個數小於 2,則返回 0。示例 1 輸入 3,6,9,1 輸出 3 解釋 排序後的陣列是 1,3,6,9 其中相鄰元素 3,6 和 6,9 之間都存在最大差值 3。思路 注釋 public static int maximu...

164 最大間距

開始想的是計數排序,但超時,如 2,999999999 這樣的樣例,記錄陣列太長,有用的佔比太少。後看官方思路,用n 1 n為原陣列元素個數 個桶去篩元素,每個桶能放的元素大小範圍固定,即下面 中的step,處理完後再掃瞄一遍當前桶最大和後繼桶最小值的差,取最大差值為結果。至於為什麼要n 1個桶,我...