ZCMU1639残缺的棋盘(不需要bfs来做,这道题还是比较简单的)

2023-10-09 12:08

本文主要是介绍ZCMU1639残缺的棋盘(不需要bfs来做,这道题还是比较简单的),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

                                                    残缺的棋盘

Description

在国际象棋里,王是最重要的一个棋子。每一步,王可以往上下左右或者对角线方向移动一步,如下图所示。

给定两个格子 A(r1,c1), B(r2,c2),你的任务是计算出一个王从 A 到 B 至少需要走多少步。为了
避免题目太简单,我们从棋盘里拿掉了一个格子 C(r3,c3)(ABC 保证互不相同),要求王从 A
走到 B 的过程中不能进入格子 C。在本题中,各行从上到下编号为 1~8,各列从左到右编号为
1~8。

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 Output

Case 1: 7

Case 2: 3

这道题的代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{int r1,c1,r2,c2,r3,c3,ci=1;//分别是三个点的横纵坐标的输入 while(~scanf("%d%d%d%d%d%d",&r1,&c1,&r2,&c2,&r3,&c3)){int ans=max(abs(r2-r1),abs(c2-c1));int x1=r3-r1;//开始进行直线操作 int x2=r2-r1;int y1=c3-c1;int y2=c2-c1;if(x1*y2-x2*y1==0)//当r1~r3和r1~r2这两条直线重合的时候 {if(abs(x2)==abs(y2))//如果两条平行直线的斜率为1的时候 if(x1*x1+y1*y1<x2*x2+y2*y2)//如果那个断点在起点和终点的之间时 if(x1*x2>=0&&y1*y2>=0)ans+=1;}printf("Case %d: %d\n",ci++,ans);}return 0;
}

这道题有时间可以再考虑用bfs的方法来做。

这篇关于ZCMU1639残缺的棋盘(不需要bfs来做,这道题还是比较简单的)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/172732

相关文章

多源 BFS

例题一 解法(bfs)(多个源头的最短路问题) 算法思路: 对于求的最终结果,我们有两种⽅式: • 第⼀种⽅式:从每⼀个 1 开始,然后通过层序遍历找到离它最近的 0 。 这⼀种⽅式,我们会以所有的 1 起点,来⼀次层序遍历,势必会遍历到很多重复的点。并且如果 矩阵中只有⼀个 0 的话,每⼀次层序遍历都要遍历很多层,时间复

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

在WinCE的C#编程中,需要静态调用C++的动态库,需要添加using System.Runtime.InteropServices

using System.Runtime.InteropServices;         [DllImport("Win32DLL.dll", EntryPoint = "WriteREG_SZToRegTCHAR")]         private static extern bool WriteREG_SZToRegTCHAR(int iFlag, string regKeyP

Selenium WebDriver 3.0 需要注意的事项

首先,要使用WebDriver 3.0 的话 请使用JAVA 8(必要)   其次,由于W3C标准化以及各大浏览器厂商的积极跟进,自WebDriver 3.0 之后,Selenium不再提供默认的浏览器支持. 也就是说 如果你要使用Firefox, 就需要用到Mozilla自己的驱动实现: geckodriver ,这里是github下载地址 https://github.com/mozil

H5测试需要关注的测试方面

原文转自:https://blog.csdn.net/u011695652/article/details/77932393 Html5是近五年来风头最劲的前端界面语言,不管是在PC端和手机端都得到了大幅度的使用,相信不久的将来将会替代Html4成为所有主流WEB界面的前端编写语言。而从H4升级到H5,还是有很多不同特性。且在插件的应用上也大大简化。下面我们就来探讨一下H5测试时应考虑的测试

BFS:解决多源最短路问题

文章目录 什么是多源最短路问题?1.矩阵2.飞地的数量3.地图的最高点4.地图分析总结 什么是多源最短路问题? 多源最短路问题(Multi-Source Shortest Path Problem,MSSP)是图论中的一个经典问题,它的目标是在给定图中找到从多个源点到所有其他顶点的最短路径。这个问题可以视为单源最短路问题(Single-Source Shortest Pa

「Debug R」如何不需要重新启动R/Rstudio就可以升级已经加载的R包

当我们已经加载了一个R包,例如ggplot2时,然后此时你发现ggplot2目前出最新版了,你心血来潮想要升级它,于是你输入了install.packages("ggplot2"), 结果弹出了下面这个界面 一个神奇的界面 它强烈建议你重启一下Rstudio,并且说到Rstudio会非常智能的重启并继续你的任务。但是根据我多年踩坑的经验,它通常没有那么智能。即便它有它说的那么智

Html表格table还是需要添加一些标签进行优化,可以添加标题caption和摘要table summary

<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>认识table表标签</title><style type="text/css">table tr td,th{border:1px solid #090;//为表格添加边框:像素是

网络技术原理需要解决的5个问题

解决世界上任意两台设备时如何通讯的?? 第一个问题,pc1和pc3是怎么通讯的? 这俩属于同一个网段,那么同网段的是怎么通讯的? pc1和pc2属于不同的网段,第二个问题,不同网段的设备是怎么通讯的?? 第三个问题,我内网的pc如何访问公网的服务?? 第四个问题,互联网的用户如何访问我的服务器的呢?? pc5是长沙分公司的pc,我想访问总部的服务器,我直接输入总部的私网的ip肯

(经验)高考填报志愿,有哪些坑你需要避开?

高考年年考,填报志愿的却年年都是新手.....哪些关于高考填报志愿的坑,依旧还继续坑....是时候做些改变了。过来人写的几点避坑,希望给这届新人做参考。 1、不要什么热门就报什么,因为有些东西别人学得很快,而我慢的像蜗牛,大学里头无数次想退学。人跟人是有差别的....跟风的后果很严重。 2、不要听父母长辈的,因为他们对新型行业根本不了解,甚至还在琢磨大学毕业那个学校包分配工作?是不是铁