简单题代码却写了这么长,惭愧

#include<iostream>

using namespace std;

#include<math.h>

int min(int x,int y)

{

return x>y? y:x;

}

int max(int x,int y)

{

return x>y? x:y;

}

int main()

{

int x;

char a[3],b[3];

int map[9][9];

int left1,right1,left2,right2;

while(cin>>x)

{

// memset(map,0,sizeof(map));

int sign=1;

for(int i=1;i<=8;i++)

{

for(int j=1;j<=8;j++)

{

if(sign==1)

{

map[i][j]=0;

if(j==8)

sign=1;

else

sign=0;

}

else

{

map[i][j]=3;

if(j==8)

sign=0;

else

sign=1;

}

}

}

while(x--)

{

int cou=0;

cin>>a;

cin>>b;

left1=8-(a[0]-97);

right1=a[1]-48;

// cout<<right1;

// system("pause");

left2=8-(b[0]-97);

right2=b[1]-48;

cou+=min(abs(left1-left2),abs(right1-right2));

// cout<<cou;

// system("pause");

cou+=(max(abs(left1-left2),abs(right1-right2)-min(abs(left1-left2),abs(right1-right2))));

cout<<max(abs(left1-left2),abs(right1-right2))<<" ";

// system("pause");

//          cout<<cou<<" ";

cou=0;

if(left1==left2 && right1==right2)

cout<<0<<" ";

else if(left1!=left2 && right1!=right2 && abs(left1-left2)!=abs(right1-right2))

cout<<2<<" ";

else

cout<<1<<" ";

if(left1==left2 && right1==right2)

cout<<0<<" ";

else if(left1==left2 || right1==right2)

cout<<1<<" ";

else

cout<<2<<" ";

cou=0;

if(left1==left2 && right1==right2)

cout<<0<<endl;

else if(map[left1][right1]!=map[left2][right2])

cout<<"Inf"<<endl;

else if(abs(left1-left2)==abs(right1-right2))

cout<<1<<endl;

else

cout<<2<<endl;

}

}

return 0;

}

poj 1657 Distance on Chessboard相关推荐

  1. POJ1657 Bailian1657 Distance on Chessboard【基础】

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

  2. 国际象棋走棋步数(Distance on Chessboard)计算程序

    国际象棋走棋步数(Distance on Chessboard)计算程序 国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间.如下图所示: 王.后.车.象的走子规则如下:  王:横.直.斜都 ...

  3. poj 1986 Distance Queries LCA

    题目链接:http://poj.org/problem?id=1986 Farmer John's cows refused to run in his marathon since he chose ...

  4. POJ 1986 Distance Queries(LCA)

    [题目链接] http://poj.org/problem?id=1986 [题目大意] 给出一棵树,问任意两点间距离. [题解] u,v之间距离为dis[u]+dis[v]-2*dis[LCA(u, ...

  5. POJ - 1986 Distance Queries 倍增求LCA

    题意还是很有病的,说了半天后边的方向都没用的,意思就是跟样例一样求两点间的距离,裸的LCA 两个点x,y的距离=dis[x]+dis[y]-2*dis[LCA(x,y)]; 三个点x,y,z的距离=d ...

  6. poj 1986 Distance Queries

    LCA 题意:LCA模板题,输入n和m,表示n个点m条边,下面m行是边的信息,两端点和权,后面的那个字母无视掉,没用的.接着k,下面k个询问lca,输出即可 有人说要考虑不连通的情况,我没考虑AC了, ...

  7. (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目

    POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...

  8. POJ刷题列表——正在进行

    转载自:http://blog.csdn.net/pyub153/article/details/50480333 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心 ...

  9. POJ前面的题目算法思路【转】

    1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...

  10. poj题目详细分类及算法推荐题目

    DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  1024   Calendar Game       简单题  ...

最新文章

  1. JVM解读-性能调优实例
  2. set和multiset
  3. 在Activiti中执行自定义查询
  4. pdf.js浏览中文pdf乱码的问题解决
  5. HTML5程序设计 SVG
  6. python编写计算器实例,Python只用40行代码编写的计算器实例
  7. SylixOS学习三—— SylixOS的引导与安装1
  8. 分割线与边框嵌入文字
  9. 微信小程序之评分页面
  10. ps常用快捷键(二)
  11. 全闪存助攻:数据存储迎来又一个“新元年”
  12. unity实现炮弹运动轨迹(抛物线)
  13. DevEco Studio JS sdk下载问题
  14. PHP调用jsignature生成图片,App端jSignature签字版生成透明背景png图片
  15. PLC控制例子——中央空调机房控制系统
  16. pycharm验证码
  17. 一个成功人士的创业心得
  18. python --windos系统托盘
  19. 计算机学院可以举办活动,计算机学院举办2019年家长开放日系列活动
  20. 中级育婴师证怎么考,需要些什么条件

热门文章

  1. [英语]工作邮件中超实用的100句英文
  2. docker已证书方式访问harbor
  3. 第十节:Web爬虫之数据存储与MySQL8.0数据库安装和数据插入
  4. Angular - - ng-focus、ng-blur
  5. imply套件以及plyql的安装
  6. struts2文件下载及文件名中文问题
  7. Spring3.0_调试错误集
  8. 培训师之绕口令与气息练习
  9. Zabbix 5.0 下载安装和中文乱码处理
  10. 如何在NEO区块链上实现信息加密