pku第1657题
http://poj.org/problem?id=1657
大致是把王、后、车、象从一个位置移动到另一个位置
下面是我的代码
/*
1 x和y分别为水平距离和垂直距离 注意王的分析, 王是走x和y中最大的
同行为x==0 不需要再location1[0] == location2[0] 同列也一样
同对角线为x==y
2 特别要注意x==y==0的特殊情况 即从点a1移动到a1, 如果不作特殊处理, 会输出0 1 1 1
*/
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int n;//输入n
char location1[3], location2[3];
scanf("%d", &n);
for(int i=0; i<n; i++){//n次循环
scanf("%s %s", location1, location2);//读入两个位置
int x = abs(location1[0] - location2[0]);
int y = abs(location1[1] - location2[1]);
if(x == 0 && y == 0)
printf("0 0 0 0\n");
else{
//处理王 同行, 同列, 其它
if(x < y)
printf("%d ", y);
else
printf("%d ", x);
//处理后 同行, 同列, 对角线为1 其它为2
if(x == 0 || y == 0 || x == y)
printf("%d ", 1);
else
printf("%d ", 2);
//处理车 同行, 同列为1 其它为2
if(x ==0 || y == 0)
printf("%d ", 1);
else
printf("%d ", 2);
//处理象, 对角线为1, 同色为2 其它为Inf
if(x == y)
printf("%d\n", 1);
else if( (x + y) % 2 == 0)
printf("%d\n", 2);
else
printf("Inf\n");
}
}
//printf("%d", 'a'-96);
system("pause");
return 0;
}
从这个题目之中, 我的收获是:
1. 要注意特殊情况, 如位置不变
2. 一些可简化的数学运算
分享到:
相关推荐
pku部分题代码,不多,试一下怎么上传文件!
pku1000 pku1000程序 解题报告
pku经典题目解题报告 pku经典题目解题报告
PKU JudgeOnline FAQ 中文版 常见问题解答
pku1664源代码
benchmark (PKU-MMD) for continuous multi-modality 3D human action understanding and cover a wide range of complex human activities with well annotated information. PKU-MMD contains 1076 long video ...
ppt word PKU 课件 五星级灰常强大
8数码代码pku1077,300ms(哈希+广度搜索)
ACM代码 北大pku。 搞ACM的可以参考一下。代码还是挺规范的。有接近150道题目的代码。
PKU 2339 Rock, Scissors, Paper 源代码
pku acm 1469 COURSES 代码 二分图的最大匹配的匈牙利算法 解题报告请访问:http://blog.csdn.net/china8848
有一些代码是pku上的,希望大家看后给我留言,看看我的代码那里有问题??
北京大学pku2317 Questions and answers c++标程 文件名为2371.cpp
这是关于PKU上的题目分类 很详细 适合不同水平的童鞋们参考
分词训练用的pku训练集,主要是说明相似度计算的样例数据。
我写的解题报告,关于度限制生成树的 网址:http://acm.pku.edu.cn/JudgeOnline/problem?id=1639<br>题目:Picnic Planning 来源:East Central North America 2000
PKU的oj分类 可以通过分类进行练习~~~
pku acm 1042 贪心法
pku2482--Stars in Your Window的源程序