1.链接地址:

http://bailian.openjudge.cn/practice/1657

http://poj.org/problem?id=1657

2.题目:

总时间限制:
1000ms
内存限制:
65536kB
描述
国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间。如下图所示:

王、后、车、象的走子规则如下:

  • 王:横、直、斜都可以走,但每步限走一格。
  • 后:横、直、斜都可以走,每步格数不受限制。
  • 车:横、竖均可以走,不能斜走,格数不限。
  • 象:只能斜走,格数不限。

写一个程序,给定起始位置和目标位置,计算王、后、车、象从起始位置走到目标位置所需的最少步数。

输入
第一行是测试数据的组数t(0 <= t <= 20)。以下每行是一组测试数据,每组包括棋盘上的两个位置,第一个是起始位置,第二个是目标位置。位置用"字母-数字"的形式表示,字母从"a"到"h",数字从"1"到"8"。
输出
对输入的每组测试数据,输出王、后、车、象所需的最少步数。如果无法到达,就输出"Inf".
样例输入
2
a1 c3
f5 f8
样例输出
2 1 2 1
3 1 1 Inf
来源
POJ Monthly--2004.05.15 Liu Rujia@POJ

3.思路:

4.代码:

 #include <iostream>
#include <cmath> using namespace std; int main()
{
int t;
std::cin>>t;
for(int i = ; i < t; i++)
{
std::cin.get();
char x1,y1,x2,y2;
std::cin>>x1>>y1;
std::cin.get();
std::cin>>x2>>y2; int dis1 = abs(x1 - x2);
int dis2 = abs(y1 - y2); int step1 = dis1>dis2?dis1:dis2; int step2;
if(dis1 == && dis2 == ){step2 = ;}
else if (dis1 == || dis2 == ) {step2 = ;}
else if(dis1 == dis2) {step2 = ;}
else {step2 = ;} int step3;
if(dis1 == && dis2 == ) {step3 = ;}
else if(dis1 == || dis2 == ){step3 = ;}
else step3 = ; std::cout<<step1<<" "<<step2<<" "<<step3<<" "; int step4;
if(dis1 == && dis2 == )
{
std::cout<<"";
}
else if(dis1 == dis2)
{
std::cout<<"";
}
else if((dis1+dis2)% == )
{
std::cout<<"";
}
else
{
std::cout<<"Inf";
} std::cout<<std::endl; }
return ;
}

OpenJudge/Poj 1657 Distance on Chessboard的更多相关文章

  1. POJ 1657 Distance on Chessboard 简单的计算问题

    Distance on Chessboard Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 23096   Accepted ...

  2. 1657 Distance on Chessboard(简单计算题)

    描述 国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间.如下图所示:王.后.车.象的走子规则如下: 王:横.直.斜都可以走,但每步限走一格. 后:横.直.斜都可以走,每步格数不受限制. 车 ...

  3. Poj 1659 Distance on Chessboard(国际象棋的走子规则)

    一.Description 国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间.如下图所示: 王.后.车.象的走子规则如下: 王:横.直.斜都可以走,但每步限走一格. 后:横.直.斜都可以走 ...

  4. POJ1657 Distance on chessboard

    Distance on Chessboard Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25623   Accepted ...

  5. POJ 1986 Distance Queries / UESTC 256 Distance Queries / CJOJ 1129 【USACO】距离咨询(最近公共祖先)

    POJ 1986 Distance Queries / UESTC 256 Distance Queries / CJOJ 1129 [USACO]距离咨询(最近公共祖先) Description F ...

  6. POJ.1986 Distance Queries ( LCA 倍增 )

    POJ.1986 Distance Queries ( LCA 倍增 ) 题意分析 给出一个N个点,M条边的信息(u,v,w),表示树上u-v有一条边,边权为w,接下来有k个询问,每个询问为(a,b) ...

  7. POJ 1986 Distance Queries LCA两点距离树

    标题来源:POJ 1986 Distance Queries 意甲冠军:给你一棵树 q第二次查询 每次你问两个点之间的距离 思路:对于2点 u v dis(u,v) = dis(root,u) + d ...

  8. OpenJudge/Poj 1915 Knight Moves

    1.链接地址: http://bailian.openjudge.cn/practice/1915 http://poj.org/problem?id=1915 2.题目: 总Time Limit: ...

  9. POJ 1987 Distance Statistics 树分治

    Distance Statistics     Description Frustrated at the number of distance queries required to find a ...

随机推荐

  1. 混合模式程序集是针对“v1.1.4322”版的执行时生成的,在没有配置其它信息的情况下,无法在 4.0 执行时中载入该程序集。

    看到一个kinect大牛编写的一个水果忍者的体感游戏版本号,让我为自己一直以来仅仅用现有的网页游戏来模拟kinect体感游戏控制感到羞愧,没办法.我还是菜鸟.学习一段后自己模仿星际大战这个游戏.自己写 ...

  2. SpringMVC请求分发的简单实现

    简介     以前用了下SpringMVC感觉挺不错了,前段事件也简单了写了一些代码来实现了SpringMVC简单的请求分发功能,实现的主要思想如下: 将处理请求的类在系统启动的时候加载起来,相当于S ...

  3. android103 内容观察者

    #内容观察者 * 通过内容提供者可以访问到数据库,当数据库数据改变时,内容提供者会发出通知,在内容提供者的uri上注册一个内容观察者,就可以收到数据改变的通知,类似于广播接受者,但是他不是广播. cr ...

  4. Linux 的启动流程-阮一峰

    http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html

  5. 认识CoreData-使用进阶

    之前两篇文章都比较偏理论,文字表达比较多一些,但都是干货!学习时先理解理论知识,才能更好的帮助后面的理解.   在这篇文章中,将会涉及关于CoreData的一些复杂操作,这些操作会涉及分页查询.模糊查 ...

  6. Poco库网络模块例子解析1-------字典查询

    Poco的网络模块在Poco::Net名字空间下定义   下面是字典例子解析 #include "Poco/Net/StreamSocket.h" //流式套接字 #include ...

  7. NIO学习:buffer读入与写出(文件复制示例)

    FileInputStream fInputStream=new FileInputStream(new File("/root/Desktop/testImage.jpg")); ...

  8. merge into sql优化

    今天网友说他的merge into sql跑了15分钟了还没有跑出数据,问我能不能优化一下,我让他把sql和sql的执行计划发过来 merge into F_Sal_P_Camp_Samp_Cust_ ...

  9. jQuery免费资料

     JQvery免豆.pdf       jQuery实战之仿flash跳动的按钮效果[源码]http://down.51cto.com/data/188600JQuery 1.4.2 手册简体中文版h ...

  10. 简单的实现QQ通信功能(五)

    第五部分:聊天界面的设计及代码 一:效果图及界面设计 1. 效果图: 2. 界面设计: (1)左上角显示朋友的头像和“某某正在和某某聊天”. (2)中间的聊天窗口用了一个ListView,视图用详细信 ...