bzoj1646
来源:互联网 发布:java可以使用html5吗 编辑:程序博客网 时间:2024/05/18 19:41
分析:一开始我觉得肯定dp,这不是很明显?
然而没想到怎么做,因为dp不知道按什么顺序。。反正这题绝逼有dp做法,等我想出来再写。。
大部分人写的都是bfs(smg),这根本一点都不明显好吗。唉,,反正bfs的相当暴力,,直接从起点开始跑,然后左右和*2加进队列,,知道能跑到终点为止。。注意左边界为0,右边界为max(n,k)+1..
#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;int n,m;int l,r;queue<int>q;const int N=1e5+5;int f[N];int main(){ scanf("%d%d",&n,&m); int mx=max(n,m)+1; memset(f,-1,sizeof(f)); q.push(n); f[n]=0; while (!q.empty()) { int x=q.front(); q.pop(); if (x+1<=mx&&f[x+1]==-1) { q.push(x+1); f[x+1]=f[x]+1; if (x+1==m)break; } if (x-1>=0&&f[x-1]==-1) { q.push(x-1); f[x-1]=f[x]+1; if (x-1==m)break; } if (x*2<=mx&&f[x*2]==-1) { q.push(x*2); f[x*2]=f[x]+1; if (x*2==m)break; } } printf("%d\n",f[m]);}
0 0
- bzoj1646
- bzoj1646 [Usaco2007 Open]Catch That Cow 抓住那只牛
- [BZOJ1646] [Usaco2007 Open]Catch That Cow 抓住那只牛
- BZOJ1646: [Usaco2007 Open]Catch That Cow 抓住那只牛
- 2014.6.14模拟赛【bzoj1646】[Usaco2007 Open]Catch That Cow 抓住那只牛
- 剑指Offer-替换空格
- sql 去除前后空格
- PHP5.X系列命令行跑php PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/··
- 点击back键退出程序而不返回上个界面
- Android 机型适配
- bzoj1646
- Java 复制文件夹及其内容
- REDOLOG结构分析及其应用
- 继承—子父类中成员函数的特点-覆盖
- Python 类的应用(2)
- [Codeforces528D]Fuzzy Search(FFT)
- mysql update 自减 判断是否小于零
- 排队买票
- linux 管道的大小,缓冲,阻塞方法,以及容量