CSU 1511 残缺的棋盘 第十届湖南省赛题

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1511

题目大意:在一个8*8的棋盘中,给你一个起点位置和一个终点位置,同时也给你一个陷阱位置,问你从起点绕过陷阱到终点的最短距离。(可以上下左右走还可以斜走)

解题思路:可以直接用搜索,也可以用数学知识来解决,我们之前学过,两点之间直接最短,所以当陷阱不在这条直线上的时候,我们就不用考虑陷阱了,直接是max(abs(x1-y1),abs(x2-y2))最终结果,

但是如果陷阱在两条直线之间的话,只需要max(abs(x1-y1),abs(x2-y2))+1即可,这里要注意的是如果三点形成的直线是与X轴或Y轴平行的话,也是忽略陷阱。

AC代码:

#include <cstdio>
#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
 int x1,y1,x2,y2,x3,y3,ca=1;
 while(scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3)!=EOF)
 {
   int dis=0;
   if((((y3-y2==x3-x2)&&(y3-y1==x3-x1))||((y3-y2==x2-x3)&&(y3-y1==x1-x3)))&&(x3<max(x1,x2)&&x3>min(x1,x2))) dis=max(abs(x2-x1),abs(y2-y1))+1;
   else dis=max(abs(x1-x2),abs(y1-y2));
   printf("Case %d: %d\n",ca++,dis);
 }
 return 0;
}
时间: 2024-07-30 16:04:54

CSU 1511 残缺的棋盘 第十届湖南省赛题的相关文章

CSU 1507 超大型LED显示屏 第十届湖南省赛题

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1507 解题思路:这是一道模拟题,看了那么多人的代码,我觉得我的代码是最简的,哈哈,其实就是分数变幻的时候要计算灯管的亮数复杂一点,我就直接暴力咯 AC代码: #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std;

CSU 1511 残缺的棋盘

1511: 残缺的棋盘 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 169  Solved: 56 [Submit][Status][Web Board] Description Input 输入包含不超过10000 组数据.每组数据包含6个整数r1, c1, r2, c2, r3, c3 (1<=r1, c1, r2, c2, r3, c3<=8). 三个格子A, B, C保证各不相同. Output 对于每组数据,输出测试点编号和最少步数

CSU 1511: 残缺的棋盘(BFS啊 )

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1511 Description Input 输入包含不超过10000 组数据.每组数据包含6个整数r1, c1, r2, c2, r3, c3 (1<=r1, c1, r2, c2, r3, c3<=8). 三个格子A, B, C保证各不相同. Output 对于每组数据,输出测试点编号和最少步数. Sample Input 1 1 8 7 5 6 1 1 3 3 2 2 Sample

csuoj 1511: 残缺的棋盘

http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1511 1511: 残缺的棋盘 时间限制: 1 Sec  内存限制: 128 MB 题目描述 输入 输入包含不超过10000 组数据.每组数据包含6个整数r1, c1, r2, c2, r3, c3 (1<=r1, c1, r2, c2, r3, c3<=8). 三个格子A, B, C保证各不相同. 输出 对于每组数据,输出测试点编号和最少步数. 样例输入 1 1 8 7 5 6 1 1 3 3

[第十届校赛]简单总结

这次校赛其实是抱着比较大的期望来打的,首先我是单挑,好像自从去年蓝桥杯后就没有一个人做过比赛,一般都是组队做,这次单挑,是想测测自己的水平和对节奏的把握,也有夺冠的冲动,很可惜,整体上是失败了TAT.如果一开始就稳扎稳打,说不定真的可以题数碾压.. 做完胡老师出的三个水题后,交了一发卡精度的二分,节奏就开始乱了.首先我自认为我的思路很正确,并且已经将误差降到很低了,但陆陆续续wa了7发,wa的原因自然是精度问题.大概比赛结束前2个小时,我把精度加大了一位,居然奇迹般的过了,无语..我一直以为比目

【河南第十届省赛-B】情报传递

题目描述 抗日战争时期,在国共合作的大背景下,中共不断发展壮大,其情报工作也开始由获取警报性.保卫性信息,向获取军政战略性情报转变.各系统情报组织遵循"荫蔽精干,长期埋伏,积蓄力量,以待时机"的隐蔽战线工作方针,开展了卓有成效的情报工作. ***特科组是中共情报工作的一个杰出范例,它以点为主.系统延伸.分散辐射的力量格局,异地领导.分头派遣.单线联系的组织形式.以打入.拉出.统战联络.内线为主的工作方式,形成了一个传递信息隐蔽.效用及时.形式多样的情报网络. ***特科组的情报人员共有

湖南省第六届省赛题 Biggest Number (dfs+bfs,好题)

Biggest Number 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 You have a maze with obstacles and non-zero digits in it: You can start from any square, walk in the maze, and finally stop at some square. Each step, you may only walk into one of the four neighb

CSU 1329: 一行盒子(双向链表)经典 13年省赛题

1329: 一行盒子 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 872  Solved: 176 [Submit][Status][Web Board] Description 你有一行盒子,从左到右依次编号为1, 2, 3,-, n.你可以执行四种指令: 1 X Y表示把盒子X移动到盒子Y左边(如果X已经在Y的左边则忽略此指令). 2 X Y表示把盒子X移动到盒子Y右边(如果X已经在Y的右边则忽略此指令). 3 X Y表示交换盒子X和Y的位

第15届浙江省赛题 (dfs)

题意是给你个数(1-9)  表示密码里的数,用这几个数能组成多少个合法的密码并输出: 不和法的有132    及1连3 时经过了2   但是2有没有被走过 所以是不存在的    排除这种情况就行了 #include<stdio.h> #include<iostream> #include<string.h> using namespace std; int n,mark[10],map[10],num[10]; int leap[11][11]; int sum; in