CodeForces 6D Lizards and Basements 2(DFS)
来源:互联网 发布:relief 人工智能 编辑:程序博客网 时间:2024/05/15 23:53
题意:有一串数字,每一次你可以使一个数字减少a,使相邻两个数字减少b,只能操作2-n-1次
思路:直接暴力DFS一波...
#include<bits/stdc++.h>using namespace std;int ans=1e9,h[15],n,a,b;vector<int> T,T2;void dfs(int x,int times){ if(times>=ans)return; if(x==n) { if(h[x]<0) { T2=T; ans=times; } return; } for(int i=0;i<=max(h[x-1]/b+1,max(h[x]/a+1,h[x+1]/b+1));i++) { if(h[x-1]<b*i) { h[x-1]-=b*i; h[x]-=a*i; h[x+1]-=b*i; for(int j=0;j<i;j++)T.push_back(x); dfs(x+1,times+i); for(int j=0;j<i;j++)T.pop_back(); h[x-1]+=b*i; h[x]+=a*i; h[x+1]+=b*i; } }}int main(){ scanf("%d%d%d",&n,&a,&b); for(int i=1;i<=n;i++)scanf("%d",&h[i]); dfs(2,0); cout<<ans<<endl; for(int i=0;i<T2.size();i++) cout<<T2[i]<<" "; cout<<endl;}
0 0
- CodeForces 6D Lizards and Basements 2(DFS)
- Codeforces 6D Lizards and Basements 2 dfs+暴力
- CodeForces 6D Lizards and Basements 2
- D. Lizards and Basements 2 (DFS+最优性剪枝)
- (待做)Codeforces Round.6 D. Lizards and Basements 2 dp
- Codeforces Beta Round #6 (Div. 2 Only) D. Lizards and Basements 2
- Codeforces Beta Round #6 (Div. 2 Only) D. Lizards and Basements 2
- Lizards and Basements 2 解题报告
- Codeforces 382D Ksenia and Pawns(逆向dfs)
- Codeforces 557D - Vitaly and Cycle (DFS染色)
- Codeforces--525D--Arthur and Walls(DFS)
- CodeForces 586D Phillip and Trains (基础搜索 -- DFS)
- DFS(思维) CodeForces - 525D Arthur and Walls
- Codeforces Round #381 (Div. 2) D Alyona and a tree(DFS树上搞事)
- Codeforces Round #447 (Div. 2) D. Ralph And His Tour in Binary Country(dfs)
- codeforces 467D Fedor and Essay dfs
- Codeforces 525D Arthur and Walls 【DFS】
- Codeforces 525D Arthur and Walls 【DFS】
- 【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建
- Java中编译运行带包名和不带包名的HelloWorld
- poj2135(模板题)
- 高于均分的学生
- 牛客网每日打卡-网络基础-20160406
- CodeForces 6D Lizards and Basements 2(DFS)
- 打印十字图
- 汉诺塔
- DTAM: Dense Tracking and Mapping(一)
- 第75课:Spark SQL基于网站Log的综合案例实战每天晚上20:00YY频道现场授课频道68917580
- GPU&VS2012&CUDA&matlab&Arrayfire杂记(六)——c语言转换
- 基于MFC对话框程序中添加菜单栏
- 登录页面
- 教师工资