日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

1191: 冰法斗神龙 暴力枚举

發(fā)布時(shí)間:2025/7/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1191: 冰法斗神龙 暴力枚举 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

1191: 冰法斗神龍

Time Limit:?1 Sec??Memory Limit:?128 MB
Submit:?199??Solved:?15

Description

強(qiáng)大的冰魔法師zz一路過(guò)關(guān)闖將,終于獨(dú)自一人殺到了神龍面前。神龍的血量值為HP,正常狀態(tài)下每秒進(jìn)行一次攻擊,傷害值為DAMAGE。zz精通n種瞬發(fā)冰控魔法(在同一秒內(nèi),zz發(fā)動(dòng)的冰魔法要比神龍的攻擊快上一點(diǎn)),第i(1<=i<=n)種魔法傷害值為damage[i],并使神龍進(jìn)入冰凍狀態(tài)(神龍?jiān)诒鶅鰻顟B(tài)下不會(huì)進(jìn)行攻擊,且如果神龍?jiān)诒鶅鰻顟B(tài)下再次受到冰魔法的攻擊,則冰凍時(shí)間累加),維持freeze[i]秒,使用完后有cd[i]秒的時(shí)間不得使用任何魔法。當(dāng)zz與神龍有一方的血量值小于等于0時(shí),即判定那一方死亡。zz想殺神龍,但是又怕死,所以請(qǐng)你幫他判斷一下以他現(xiàn)有的血量hp和他的技能,能否強(qiáng)殺神龍。

Input

第一行輸入整數(shù)T代表T組數(shù)據(jù),T<=30

輸入數(shù)據(jù)的第一行為2個(gè)整數(shù)HP(0<HP<10^8) DAMAGE (0<DAMAGE<10^8) 分別代表神龍的血量值和神龍每次的攻擊值。

第二行也是2個(gè)整數(shù)hp(0<hp<10^8),n(1<=n<=1000000) 分別代表zz的血量以及zz會(huì)的魔法種類數(shù)。

第三行到n+2行每行均為3個(gè)整數(shù)damage[i](0<=damage<=100),freeze[i](0<=freeze[i]<=100),cd[i](1<=cd[i]<=100),(1<=i<=n)分別代表第i種魔法的傷害值,冰控時(shí)間,冷卻時(shí)間。

?

?

Output

輸出只有一行YES或NO,分別代表能殺死神龍和不能殺死神龍。

Sample Input

2 20 4 10 2 3 1 2 5 0 1 20 3 10 2 3 1 2 5 0 1

Sample Output

NO YES

HINT

Source

[Submit][Status][Web Board]

?

http://www.gdutcode.sinaapp.com/problem.php?id=1191

考慮到:只可能是一種技能最優(yōu),不可能你用著這個(gè)技能,然后用另一個(gè),再用回來(lái)這個(gè),這樣是不可能最優(yōu)的。但可能是若干次A技能,然后選一次傷害最大的技能來(lái)用,最后一次用最大值來(lái)沖一沖。

然后有些情況是直接YES的。

1、如果wait[i] - fre[i]等于0,就是能一路壓著神龍,而且這個(gè)的攻擊力不能等于0

2、如果wait[i] - fre[i]小于0,就是能爭(zhēng)取自己的時(shí)間了,這時(shí)也不是直接是YES的,還要看看mx是否大于0

#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> #define IOS ios::sync_with_stdio(false) using namespace std; #define inf (0x3f3f3f3f) typedef long long int LL;#include <iostream> #include <sstream> #include <vector> #include <set> #include <map> #include <queue> #include <string> const int maxn = 1000000 + 20; int att[maxn]; int fre[maxn]; int wait[maxn]; void work() {int HP, hurt;int MYHP, m;scanf("%d%d%d%d", &HP, &hurt, &MYHP, &m);int mx = -inf;for (int i = 1; i <= m; ++i) {scanf("%d%d%d", &att[i], &fre[i], &wait[i]);mx = max(mx, att[i]);}int need = MYHP / hurt + ((MYHP % hurt) > 0);for (int i = 1; i <= m; ++i) {int dis = wait[i] - fre[i];if (dis == 0 && att[i] == 0) continue;if (dis == 0 && att[i] != 0) {printf("YES\n");return;}if (dis < 0 && mx != 0) {printf("YES\n");return;}if (dis < 0 && mx == 0) {continue;}int how = need / dis + ((need % dis) > 0); // printf("%d*****\n", how);int cut = (how - 1) * att[i] + mx;if (cut >= HP) {printf("YES\n");return;} // cout << cut << endl; }printf("NO\n");return; }int main() { #ifdef localfreopen("data.txt","r",stdin); #endifint t;scanf("%d", &t);while (t--) work();return 0; } View Code

?

不要看題解了,看這個(gè)數(shù)據(jù)

1
100 1
20 3
49 0 17
50 0 100
1 0 1

我的wa

轉(zhuǎn)載于:https://www.cnblogs.com/liuweimingcprogram/p/6065254.html

總結(jié)

以上是生活随笔為你收集整理的1191: 冰法斗神龙 暴力枚举的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。