C語言 鍊錶 Attack

2021-08-15 02:22:03 字數 1165 閱讀 4627

time limit: 1000ms

memory limit: 65536kb

submit

statistic

problem description

pbh 最近在玩乙個遊戲。遊戲中玩家有 100 的血量,目前有 n 個小怪,小怪會按順序前來攻擊玩家且小怪只會採用 1v1 的方式,玩家每次可秒殺乙個小怪,並受到小怪攻擊力的傷害(血量減少小怪攻擊力的數值),打死小怪會掉落藥水。

現在問題來了,打完這 n 個小怪最少需要喝多少瓶藥水(喝藥水不耗時)?

input

先輸入乙個整數 t 表示資料的組數,t 不超過 1000。

對於每組資料,第一行先輸入小怪的個數 n (1 <= n <= 100),接下來的 n 行輸入小怪攻擊力 atki (1 <= atki <= 50) 以及小怪掉落 mi (0 <= mi <= 4) 個藥水和藥水所能恢復生命的值 ai (1 <= ai <= 30)。

output

對於每組資料先輸出 "case #x: ",x 表示當前為第幾組資料,之後輸出打完所有小怪需要的最少藥水數。如果無法殺死這 n 個小怪,即某次攻擊小怪時已無藥水可用且當前血量無法攻擊小怪(小怪攻擊大於等於當前血量),則輸出 」qaq」。

所有輸出均不包括引號。

example input

3

250 1 20

49 0

450 1 10

40 0

30 3 20 30 20

10 0

350 3 20 15 1

45 2 1 1

27 0

example output

case #1: 0

case #2: qaq

case #3: 2

#include #include struct sdut

;int main()

else

}if(blood > atki)

}scanf("%d", &mi);

while(mi--)

p -> next = q -> next;

q -> next = p;}}

if(flag == 1)

else

}return 0;

}

c語言 鍊錶 C語言鍊錶例項 玩轉鍊錶

下圖為最一簡單鍊錶的示意圖 第 0 個結點稱為頭結點,它存放有第乙個結點的首位址,它沒有資料,只是乙個指標變數。以下的每個結點都分為兩個域,乙個是資料域,存放各種實際的資料,如學號 num,姓名 name,性別 和成績 score 等。另乙個域為指標域,存放下一結點的首位址。鍊錶中的每乙個結點都是同...

c語言鍊錶 鍊錶

在儲存一大波數的時候,我們通常使用陣列,但有時候陣列顯得不夠靈活,比如有一串已經從小到大排序好的數 2 3 5 8 9 10 18 26 32 現在需要往這串數中插入6使其得到的新序列仍符合從小到大排列。如果我們使用陣列來實現這一操作,則需要將8和8後面的數字都依次往後挪一位,如果你覺得這幾個數不算...

c語言 鍊錶 C語言之鍊錶入門

鍊錶三要素 1 頭指標 head 是用來說明鍊錶開始了,頭指標就代表鍊錶本身 所以以後要訪問鍊錶,就要訪問頭指標 2 結點 node 鍊錶中每乙個結構體變數 3 尾指標 用來說明鍊錶的結束 它是乙個空指標,null include includetypedef struct stud 定義了乙個結構...