`
only_xxp
  • 浏览: 14016 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

pku1657

 
阅读更多

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.zip_PKU

    【标题】"pku.zip_PKU" 指的是一份与北京大学(Peking University, PKU)相关的压缩文件。从描述来看,这份压缩包包含了部分编程题目的代码,可能是学生或者爱好者在解决北京大学编程竞赛或课程作业时编写的。"pku"这...

    pku经典题目解题报告

    "pku经典题目解题报告"这一标题揭示了文件内容的核心,它表明这是一份关于北京大学(PKU)编程竞赛或算法竞赛中的经典问题的解答集。通常,这样的报告会涵盖一系列在PKU历年比赛中出现的难题,包含了解题思路、算法...

    PKU-ACM.rar_PKU_acm 题目

    在编程竞赛的世界里,北京大学(PKU)的ACM团队以其高质量的题目和独特的解题思路闻名。"PKU-ACM.rar"这个压缩包包含了北大ACM题目的一些核心知识点,旨在帮助参赛者理解和掌握算法竞赛中的生命周期题目解法。本文将...

    pku1000程序 解题报告

    pku1000 pku1000程序 解题报告

    用于人体动作识别的PKU-MMD大范围数据集

    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 ...

    ACM代码 之pku代码

    【标题】"ACM代码 之pku代码" 涉及的是在计算机科学领域中的算法竞赛编程,尤其是北京大学(Peking University, PKU)的ACM/ICPC(国际大学生程序设计竞赛)训练代码。这些代码是参赛者或教练为了准备这类竞赛而编写的,...

    pku acm 一些代码

    标题 "pku acm 一些代码" 暗示了这是一个与北京大学(Peking University, 简称PKU)的ACM(国际大学生程序设计竞赛)相关的代码集合。在这个领域,参赛者通常需要解决算法问题,编写高效且优化的代码来求解数学、逻辑...

    pku1664

    标题"Pku1664"很可能是指北京大学(Peking University)在某个编程竞赛或课程中的一道题目或项目,编号为1664。这道题目可能涉及到计算机科学的基础概念,尤其是算法和数据结构。描述中提到的是"Pku1664源代码",暗示...

    pku1742.rar_pku 17_pku 1742 _报告及程序

    标题中的“pku1742.rar_pku 17_pku 1742 _报告及程序”表明这是一个与北京大学(Peking University, 简称PKU)相关的项目,项目编号可能是1742,内容包括了结题报告和程序代码。这个压缩包很可能是学生或研究人员提交...

    8数码代码pku1077

    8数码代码pku1077,300ms(哈希+广度搜索)

    ACM.rar_PKU_acm pku_pku 1709 crossword_pku acm_visual c

    标签部分进一步细化了内容:"pku acm_pku"再次强调这是北京大学ACM竞赛的资料,"pku__1709__crossword"可能是特定的题目标签,而"pku_acm"可能是北京大学ACM团队的标识。"visual_c"可能表示这些代码是使用C++语言,...

    acm_pku_code.zip_Code p_acm pku_acm pku pu_acm.pku_pku acm

    "p_acm"、"pku_acm"以及"pu_acm.pku_pku"等标签可能是用于分类或标识这些代码属于北京大学(Peking University, PKU)的ACM训练题目。"acm"一词重复出现,进一步强调了这是关于ACM编程竞赛的内容。 描述中提到"acmer...

    pku1088.rar_pku 10_pku 1088_poj 1088

    标题中的“pku1088.rar_pku 10_pku 1088_poj 1088”指的是北京大学(Peking University, PKU)编程竞赛中的第1088题,也称为POJ(Peking University Online Judge)的1088题。这个题目在编程竞赛社区中通常有一个特定的...

    PKU 2339 Rock, Scissors, Paper

    PKU 2339 Rock, Scissors, Paper 源代码

    pku_training.utf8

    分词训练用的pku训练集,主要是说明相似度计算的样例数据。

    pku acm 1469 COURSES 代码

    pku acm 1469 COURSES 代码 二分图的最大匹配的匈牙利算法 解题报告请访问:http://blog.csdn.net/china8848

    很详细的PKU题目分类

    - **示例题目编号**:1697, 1712, 1713, 1720, 1729, 1765, 1772, 1858, 1872, 1960, 1963, 2050, 2122, 2162, 2219, 2237, 1207, 1226, 1401, 1504, 1607, 1657, 1658, 1674, 1862, 1906, 1922, 1929, 1931, 1969, ...

    pku2371c++标程

    北京大学pku2317 Questions and answers c++标程 文件名为2371.cpp

    pku3728.zip_pku 3621 pasc_pku 3728

    标题 "pku3728.zip_pku 3621 pasc_pku 3728" 提供的信息表明,这是一个与北京大学(Peking University, PKU)编程竞赛相关的压缩包,具体是针对问题编号3728的Pascal语言源代码。在编程竞赛中,参赛者通常需要编写代码...

Global site tag (gtag.js) - Google Analytics