POJ3278_Catch that cow
一个简单的bfs题。
用结构体的目的在于保存bfs到达此处时走的步数。
不多言,上AC代码:
//18:18
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<queue>
using namespace std;
int n,k;
int step[]={-,};
const int maxn=;
int flag[maxn];
struct state{
int cur;
int cnt;
};
queue<state> qs;
int bfs(){
state src,dst;
src.cnt=;src.cur=n;
qs.push(src);
src.cnt=;src.cur=n;
while(qs.empty()==){
state now=qs.front();
qs.pop();
//printf("%d %d\n",now.cur,now.cnt);
if(now.cur==k)return now.cnt;
state next;
next.cnt=now.cnt+;
flag[now.cur]=;
for(int i=;i<;i++){
next.cur=now.cur+step[i];
if(next.cur<||next.cur>maxn)continue;
if(flag[next.cur]==){
qs.push(next);
}
}
next.cur=now.cur*;
if(next.cur<||next.cur>maxn)continue;
if(flag[next.cur]==){
qs.push(next);
}
}
return -;
}
int main(void){
scanf("%d%d",&n,&k);
memset(flag,,sizeof(flag));
printf("%d\n",bfs());
return ;
}
POJ3278_Catch that cow的更多相关文章
- POJ3278_Catch That Cow(JAVA语言)
思路:bfs裸题.三个选择:向左一个单位,向右一个单位,向右到2*x //注意,需要特判n是否大于k,大于k时只能向左,输出n-k.第一次提交没注意,结果RE了,, Catch That Cow Ti ...
- POJ 3278 Catch That Cow(bfs)
传送门 Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 80273 Accepted: 25 ...
- 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心
SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了... 最小道路=已选取的奶牛/道路总数. #include <iostream> #include <cstdi ...
- HDU Cow Sorting (树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2838 Cow Sorting Problem Description Sherlock's N (1 ...
- [BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居
[BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 试题描述 了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发 ...
- 细读cow.osg
细读cow.osg 转自:http://www.cnblogs.com/mumuliang/archive/2010/06/03/1873543.html 对,就是那只著名的奶牛. //Group节点 ...
- POJ 3176 Cow Bowling
Cow Bowling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13016 Accepted: 8598 Desc ...
- raw,cow,qcow,qcow2镜像的比较
在linux下,虚拟机的选择方式有很多,比如vmware for linux,virtual box,还有qemu,在以前,使用qemu的人不多,主要是使用起来有些麻烦,但现在随着Openstack的 ...
- poj1985 Cow Marathon (求树的直径)
Cow Marathon Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 3195 Accepted: 1596 Case ...
随机推荐
- 基于TINY4412的Andorid开发-------简单的LED灯控制
参考资料: <Andriod系统源代码情景分析> <嵌入式Linux系统开发完全手册_基于4412_上册> 作者:彭东林 邮箱:pengdonglin137@163.com 平 ...
- Cookie的介绍及使用
咱们不搞一开始就一大堆理论知识介绍,怕把人讲懵了...... 咱们换一个思维方式——"从现象看本质",先说说我们看到了什么,再从看到的现象中提出问题,最后深入寻找答案. 我们看到的 ...
- java获取年份的第一天和最后一天
Calendar cal = Calendar.getInstance();cal.set(Calendar.MONTH, 0);cal.set(Calendar.DATE, 1);String da ...
- HDCMS留言插件的使用!
HDCMS留言插件,JS简单示例: <img src='{|U:'code'}' onclick='this.src='{|U:'code'}&'+Math.random()' /> ...
- undo文件丢失或损坏
startup mount cp +DATA/ora11g/datafile/undotbs1.dbf alter database rename file '+DATA/ora11g/datafil ...
- mariadb安装配置
CentOS 7安装MariaDB 详解以及相关配置 第一步:添加 MariaDB yum 仓库 首先在CentOS操作系统中/etc/yum.repos.d/目录下添加 MariaDB 的YUM配置 ...
- Oracle之使用rman进行异机恢复测试记录
本次测试目的是从生产数据库导出rman备份然后在测试数据库恢复 1,拷贝备份至相应目录 2,进入rman rman target \ 3,关闭数据库 shutdown 4,以nomount模式启动数据 ...
- rbac - 初识
一.rbac 权限组件 1 项目与应用 一个项目,可以有多个应用 一个应用,可以在多个项目下 前提:应用是组件!! 2 什么是权限? 一个包含正则表达式url就是一个权限 who what how - ...
- LoadRunner-常用的函数
LoadRunner中,常用的函数有很多,这里只介绍编写性能测试脚本过程中那些必然用到的函数.本文重点关注这些典型函数的应用场合及注意点,至于函数详细使用说明请参见LoadRunner帮助文档. 1. ...
- 【手机自动化测试】monkey测试
1 概述 Monkey测试是Android自动化测试的一种手段.Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. 当Mon ...