hdu 5246(贪心)
生活随笔
收集整理的這篇文章主要介紹了
hdu 5246(贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=5246
解題思路:先排序,在采用貪心的方法,先給百小度找到合適的初始戰斗力,找到比初始戰斗力上限小的中最大的來打,并將初始戰斗力和他設置成相同的即可。接下來就是提升戰斗力了,如果當前戰斗力power+k >= a[i],說明第i個對手是可以打敗的并且能夠獲得戰斗力的提升。
#include <iostream> #include <cstdio> #include <algorithm> using namespace std;__int64 a[10010]; int main() {int t;scanf("%d",&t);while (t--){__int64 n,m,k;int i;scanf("%I64d%I64d%I64d",&n,&m,&k);for (int i=1; i<=n; i++){scanf("%I64d",&a[i]);}printf ("Case #%d:\n",f++);sort(a+1,a+n+1);if(a[1] > m){printf ("madan!\n");continue;}if(a[n] <= m){printf ("why am I so diao?\n");continue;}__int64 power=0;int flag=0;for(i = 2; i <= n; i++){if(flag == 0){if(a[i] > m){power = a[i-1];flag = 1;if(power + k < a[i])break;}continue;}if(power + k < a[i]){power = a[i-1];k--;if(power + k < a[i])break;}}if(i > n)printf ("why am I so diao?\n");elseprintf ("madan!\n");}return 0; }總結
以上是生活随笔為你收集整理的hdu 5246(贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于SpringBoot的开源免费微信管
- 下一篇: 关于Jeecg互联网化dubbo改造方案