主题链接:HDU 2616 Kill the monster

意甲冠军:有N技能比赛HP有M怪物,技能(A,M),能伤害为A。当怪兽HP<=M时伤害为2*A。

求打死怪兽(HP<=0)用的最少技能

方法一:将技能全排列。计算伤害。得到答案。

方法二:搜索,详细看代码。

全排列AC代码:

#include<stdio.h>
#include<algorithm>
using namespace std;
struct node
{
int p,v;
};
struct node st[30]; int main()
{
int n,d,i;
int t[30];
int ans;
while(scanf("%d %d",&n,&d)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d %d",&st[i].p,&st[i].v);//p掉血,V double
t[i]=i;
}
int sum;
ans=100;
do
{
sum=d;
int count=0;
for(i=0;i<n;i++)
{
if(sum<=st[t[i]].v)
sum-=st[t[i]].p*2;
else
sum-=st[t[i]].p;
count++;
if(sum<=0)
break;
}
if(sum<=0)
ans=min(ans,count);
}while(next_permutation(t,t+n));
if(ans==100)
printf("-1\n");
else
printf("%d\n",ans);
}
return 0;
}

搜索AC代码:

#include<stdio.h>
#include<algorithm>
using namespace std;
struct spell
{
int a,m;
};
struct spell sp[20];
int n,ans,flag;
bool vis[30];
void dfs(int p,int sum)
{
int i;
if(sum<=0)
{
flag=1;
ans=min(ans,p);
return ;
}
for(i=0;i<n;i++)
{
if(!vis[i])
{
vis[i]=true;
if(sum<=sp[i].m)
dfs(p+1,sum-sp[i].a*2);
else
dfs(p+1,sum-sp[i].a);
vis[i]=false;
}
}
}
int main()
{
int i;
int m;
while(scanf("%d %d",&n,&m)!=EOF)
{
flag=0;
memset(vis,false,sizeof vis);
for(i=0;i<n;i++)
scanf("%d %d",&sp[i].a,&sp[i].m);
ans=n;
dfs(0,m);
if(flag)
printf("%d\n",ans);
else
printf("-1\n");
}
return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

HDU 2616 Kill the monster (暴力搜索 || 终极全阵列暴力)的更多相关文章

  1. hdu 2616 Kill the monster (DFS)

    Kill the monster Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  2. 随手练——洛谷-P1151(枚举与暴力搜索)

    枚举 #include <iostream> using namespace std; int main() { ; cin >> k; ; i < ; i++) { ) ...

  3. hdu 4740 The Donkey of Gui Zhou(暴力搜索)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4740 [题意]: 森林里有一只驴和一只老虎,驴和老虎互相从来都没有见过,各自自己走过的地方不能走第二次 ...

  4. HDU 3131 One…Two…Five! (暴力搜索)

    题目链接:pid=3131">HDU 3131 One-Two-Five! (暴力搜索) 题意:给出一串数字,要求用加,减,乘,除(5/2=2)连接(计算无优先级:5+3*6=8*6= ...

  5. hdu 1427 速算24点 dfs暴力搜索

    速算24点 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Problem De ...

  6. hdu 2616 暴力使用 dfs求最短路径(剪枝有点依稀)

    Kill the monster Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  7. ACM 暴力搜索题 题目整理

    UVa 129 Krypton Factor 注意输出格式,比较坑爹. 每次要进行处理去掉容易的串,统计困难串的个数. #include<iostream> #include<vec ...

  8. HDU 1312 Red and Black --- 入门搜索 BFS解法

    HDU 1312 题目大意: 一个地图里面有三种元素,分别为"@",".","#",其中@为人的起始位置,"#"可以想象 ...

  9. HDU 1312 Red and Black --- 入门搜索 DFS解法

    HDU 1312 题目大意: 一个地图里面有三种元素,分别为"@",".","#",其中@为人的起始位置,"#"可以想象 ...

随机推荐

  1. .net Quartz 服务 作业调度

    .net项目中使用Quartz   (1)在web.config中进行相关配置 <configSections> <section name="quartz" t ...

  2. [LeetCode118]Pascal's Triangle

    题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,R ...

  3. MySQL各种日期类型与整型(转)

    日期类型 存储空间 日期格式 日期范围 datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 t ...

  4. UVa 514 Rails(经典栈)

     Rails  There is a famous railway station in PopPush City. Country there is incredibly hilly. The st ...

  5. CocoStudio学习资源

    CocoStudio安装包及实例project:http://www.cocoachina.com/bbs/read.php?tid=154886 CocoStudio视频教程系列:http://mo ...

  6. Connect2015 简要整理

    2015 简要整理 去年 Connect(); 2014 Visual Studio Contact(); 直播笔记 对于我个人来说,今年 Connect(); 的三个重要发布: ASP.NET 5 ...

  7. javascript 比量str今天的日期是,参数diff

    function isToday(str) { var d = new Date(str.replace(/-/g, "/")); var todaysDate = new Dat ...

  8. XUtils骨架HttpUtils采用Get总是返回请求解决问题的相同信息

    如需转载请注明出处:http://blog.csdn.net/itas109 版本号:Xutils 2014年11月11日 下载地址:https://github.com/wyouflf/xUtils ...

  9. linux软与硬接线连接

    1.Linux链接概念 Linux链接分两种.一种被称为硬链接(Hard Link),还有一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索 ...

  10. 非阻塞IOserver型号

    让我们来考虑一个场景,你和百万玩家的魔兽世界的忠实粉丝.时间之旅打每到周末boss. 每当周末比赛server在亚历山大,因为至少在同一时间数十万用户在线. 假设我们的多-threaded果酱serv ...