博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1489 蜥蜴和地下室
阅读量:5302 次
发布时间:2019-06-14

本文共 1159 字,大约阅读时间需要 3 分钟。

 

去掉头尾就可以吃了

dfs

 

AC代码:

1 #include
2 using namespace std; 3 4 const int INF=1<<30; 5 int n,a,b,ans=INF,sum=0; 6 int s[11]; 7 8 void dfs(int x,int num){ 9 if(x==n){10 ans=min(ans,num);11 return ;12 }13 if(s[x-1]<0){14 dfs(x+1,num);15 }16 int t=0;17 if(s[x-1]>=0){18 t=s[x-1]/b+1;19 num+=t;20 s[x-1]-=b*t;21 s[x]-=a*t;22 s[x+1]-=b*t;23 dfs(x+1,num);24 num-=t;25 s[x-1]+=b*t;26 s[x]+=a*t;27 s[x+1]+=b*t;28 }29 int t1=s[x]/a+1;//若x-1为负后x依然为正,则说明x血量大于x-130 //可以通过直接t1打爆x或通过x+1打爆x 31 if(s[x]>=0&&t
>n>>a>>b;48 memset(s,0,sizeof(s));49 for(int i=1;i<=n;i++){50 cin>>s[i];51 }52 int x=s[1]/b+1;//去头 53 sum+=x;54 s[1]-=b*x;55 s[2]-=a*x;56 s[3]-=b*x;57 if(s[n]>=0){
//去尾,注意这里可能会受去头影响,所以设一个if 58 x=s[n]/b+1;59 sum+=x;60 s[n]-=b*x;61 s[n-1]-=a*x;62 s[n-2]-=b*x;63 }64 dfs(2,0);65 if(ans==INF)66 ans=0;67 cout<
<

 

转载于:https://www.cnblogs.com/Kiven5197/p/7229098.html

你可能感兴趣的文章
WPF中Image显示本地图片
查看>>
SVN版本管理
查看>>
哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算
查看>>
Windows Phone 7你不知道的8件事
查看>>
脚本删除文件下的文件
查看>>
实用拜占庭容错算法PBFT
查看>>
java b组 小计算器,简单计算器..
查看>>
java的二叉树树一层层输出,Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历...
查看>>
php libevent 定时器,PHP 使用pcntl和libevent实现Timer功能
查看>>
php仿阿里巴巴,php实现的仿阿里巴巴实现同类产品翻页
查看>>
Node 中异常收集与监控
查看>>
七丶Python字典
查看>>
Excel-基本操作
查看>>
面对问题,如何去分析?(分析套路)
查看>>
Excel-逻辑函数
查看>>
面对问题,如何去分析?(日报问题)
查看>>
数据分析-业务知识
查看>>
nodejs vs python
查看>>
poj-1410 Intersection
查看>>
[pytorch学习]1.pytorch ubuntu安装
查看>>