USACO 丢失的牛
来源:互联网 发布:mac如何下载eclipse 编辑:程序博客网 时间:2024/06/06 00:13
题目描述
FJ丢失了他的一头牛,他决定追回他的牛。已知FJ和牛在一条直线上,初始位置分别为x和y,假定牛在原地不动。FJ的行走方式很特别:他每一次可以前进一步、后退一步或者直接走到2*x的位置。计算他至少需要几步追上他的牛。
输入输出格式
输入格式:
第一行为一个整数t(≤10),表示数据组数;接下来每行包含一个两个正整数x和y(0
输出格式:
对于每组数据,输出最少步数。
输入输出样例
输入样例#1:
1
5 17
输出样例#1:
4
/************************** Name:1588 丢失的牛 How to get:luogu.org By:Shine_Sky**************************//******************************* 这道题一开始就秒用DFS做结果呢--10个TLE 教我做人 哎 只能用BFS了 正好练练BFS有 几周没写BFS了 这道题和BFS模(走迷宫)一样就是把上下左右 四个方向改成+1,-1,*2就好了 上下界判断一下 *******************************/#include<iostream>#include<cstdio>#define f(i,a,b) for(register int i=a;i<=b;i++)#define fd(i,a,b) for(register int i=a;i>=b;i--)using namespace std;inline int read(){ int data=0,w=1; char ch=0; while(ch!='-' && (ch<'0' || ch>'9')) ch=getchar(); if(ch=='-') w=-1,ch=getchar(); while(ch>='0' && ch<='9') data=data*10+ch-'0',ch=getchar(); return data*w;}inline void write(int x){ if(x<0) putchar('-'),x=-x; if(x>9) write(x/10); putchar(x%10+'0');}const int X=1e5,Y=X+7;int t,ans[Y],x,y,q[Y],visit[Y];inline void bfs(int s,int e){// printf("RE"); int l=1,r=1; q[l]=s; ans[s]=0,visit[s]=1; bool flag=0; while(r>=l) { int nx=q[l++]; if(flag) break; f(i,0,2) { if(i==0) { int dx=nx+nx; if(dx<=X && dx>0 && !visit[dx]) { q[++r]=dx; visit[dx]=1; ans[dx]=ans[nx]+1; if(dx==e) flag=1; } } else if(i==1) { int dx=nx+1; if(dx<=X && dx>0 && !visit[dx]) { q[++r]=dx; visit[dx]=1; ans[dx]=ans[nx]+1; if(dx==e) flag=1; } } else if(i==2) { int dx=nx-1; if(dx<=X && dx>0 && !visit[dx]) { q[++r]=dx; visit[dx]=1; ans[dx]=ans[nx]+1; if(dx==e) flag=1; } } } } write(ans[e]); puts("");}int main(){ t=read(); while(t--) { x=read(),y=read(); f(i,0,Y-1) ans[i]=visit[i]=0; bfs(x,y); } return 0;}
阅读全文
0 0
- USACO 丢失的牛
- USACO 牛的过山车
- 赶吃花的牛 USACO
- 丢失的牛
- 牧人和丢失的牛
- USACO 2.4 牛的旅行
- USACO 牛的旅行 Cow Tours
- 【算法】【题解】【usaco】 最受欢迎的牛
- 丢失的牛?_Lost Cows_POJ2182_线段树
- 牛客笔试:丢失的三个数
- 纪念USACO的第一次
- USACO 奶牛的锻炼
- 我的 usaco sort3
- USACO刷怪塔的开始
- USACO 香甜的黄油
- 【USACO】坏掉的项链
- USACO 木瓜的丛林
- [USACO]完美的牛栏
- 51nod 1053 最大M子段和 V2[贪心][链表][堆]
- 【Python】【爬虫】关于requests库
- Remove Duplicates from Sorted Array
- 【SSM】WEB项目中的中文乱码问题
- 【2】git基本用法(上)
- USACO 丢失的牛
- 在XAMPP上运行一个组合的Jekyll / PHP站点
- HBase分析之Get、Scan(一)
- CDQZ Challenge 16
- HDU 5952
- 代码论千言:如何评价别人的代码
- 移动架构15_解释器模式
- python学习之Turtle 1
- 文章标题