(ssl1456)骑士旅行

2024-01-30 06:18
文章标签 骑士 旅行 ssl1456

本文主要是介绍(ssl1456)骑士旅行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

骑士旅行
Time Limit:1000MS  Memory Limit:65536K
Total Submit:263 Accepted:103

Description


在一个n m 格子的棋盘上,有一只国际象棋的骑士在棋盘的左下角 (1;1)(如图1),骑士只能根据象棋的规则进行移动,要么横向跳动一格纵向跳动两格,要么纵向跳动一格横向跳动两格。 例如, n=4,m=3 时,若骑士在格子(2;1) (如图2), 则骑士只能移入下面格子:(1;3),(3;3) 或 (4;2);对于给定正整数n,m,I,j值 (m,n<=50,I<=n,j<=m) ,你要测算出从初始位置(1;1) 到格子(i;j)最少需要多少次移动。如果不可能到达目标位置,则输出"NEVER"。 




Input


输入文件的第一行为两个整数n与m,第二行为两个整数i与j。


Output


输出文件仅包含一个整数为初始位置(1;1) 到格子(i;j)最少移动次数。


Sample Input




5 3
1 2
Sample Output




3
Source


elba




var
 dx:array[1..8]of longint;
 dy:array[1..8]of longint;
 a:array[0..50+1,0..50+1] of longint;
 father:array[1..50*50]of longint;
 state:array[1..50*50,1..3] of longint;//3用于记录步数(父节点数)
 qx,qy,n,m,s:longint;
procedure init;
begin
 readln(n,m);
 read(qx,qy);
end;
procedure bfs;
var
 head,tail,k,x,y:longint;
begin
 head:=0;tail:=1;
 state[1,1]:=1;state[1,2]:=1;state[1,3]:=0;
 father[1]:=0;
 repeat
  inc(head);
  for k:=1 to 8 do
   begin
    x:=state[head,1]+dx[k];
    y:=state[head,2]+dy[k];
    if (x>=1) and (x<=n) and (y>=1) and (y<=m) and (a[x,y]=0) then
     begin
      inc(tail);
      father[tail]:=head;
      state[tail,1]:=x;
      state[tail,2]:=y;
      a[x,y]:=1;
      state[tail,3]:=state[head,3]+1;//统计步数
      if (state[tail,1]=qx) and (state[tail,2]=qy) then
       begin
        s:=state[head,3]+1;//统计到达终点的步数
        writeln(s);
        halt;
        tail:=0;//其实这条语句不必要,在执行它之前就当机了,不过出于是广搜,暂且保留它吧
       end;
     end;
   end;
 until head>=tail;
end;
begin
 dx[1]:=-1;dx[2]:=-2;dx[3]:=-2;dx[4]:=-1;dx[5]:=1;dx[6]:=2;dx[7]:=2;dx[8]:=1;//打表
 dy[1]:=2;dy[2]:=1;dy[3]:=-1;dy[4]:=-2;dy[5]:=-2;dy[6]:=-1;dy[7]:=1;dy[8]:=2;
 init;
 bfs;
 writeln('NEVER');
end.

这篇关于(ssl1456)骑士旅行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

【报告分享】摄影行业旅行跟拍洞察(2021年版)-TMI(附下载)

摘要:那些在家无法出门的日子,更让人们感受到了外出旅行的珍贵。游客不再满足于自己拍摄记录旅行瞬间,而是期待更高阶的拍摄和表现形式,这为专业旅拍服务提供了丰富的市场机遇。国内旅游复苏之际,“轻”旅行成为更多游客的选择。66%的人群选择利用周末或小假期进行短途旅行。在开销方面,旅游消费相比2020年增加了49%,整体旅行市场复苏强劲。 来源:TMI ​

Day 27:2596. 检查骑士巡视方案

Leetcode 2596. 检查骑士巡视方案 骑士在一张 n x n 的棋盘上巡视。在 **有效 **的巡视方案中,骑士会从棋盘的 左上角 出发,并且访问棋盘上的每个格子 恰好一次 。 给你一个 n x n 的整数矩阵 grid ,由范围 [0, n * n - 1] 内的不同整数组成,其中 grid[row][col] 表示单元格 (row, col) 是骑士访问的第 grid[row][

旅行商问题之状压dp

问题背景 旅行商问题背景就是,给定点集S,如何从固定起点s出发,找到最短的环游路线,注意每个城市(除s外)只能进过一次。 POJ 3311 Hie with the Pie:http://poj.org/problem?id=3311 swust 411: 售货员的难题:http://acm.swust.edu.cn/#/problem/411/-1 解题思路 定义dp[state][i]

【论文阅读】-- DeepVisualInsight: 深度分类训练时空因果关系的时间旅行可视化

中文标题 摘要引言动机举例相关工作时间旅行可视化的属性符号定义邻居保护属性边界距离保持属性逆投影保持属性暂时保存属性 方法 δ \delta δ-边界估计(k)-BAVR综合体建设逆投影保持时间连续性 评估案例分析结论参考文献 摘要 了解深度学习模型的预测在训练过程中是如何形成的,对于提高模型性能和修复模型缺陷至关重要,特别是当我们需要研究主动学习等非平凡的训练策略

摩根大通研究论文:大型语言模型+自动规划器用来作有保障的旅行规划

【摘要】旅行规划是一项复杂的任务,涉及生成一系列与访问地点相关的动作序列,需要满足约束条件并最大化某些用户满意度标准。传统方法依赖于以给定形式语言表示问题,从网络来源中提取相关的旅行信息,并使用适当的问题求解器生成有效解决方案。作为替代方案,最近基于大型语言模型(LLM)的方法直接使用自然语言从用户需求中输出计划。虽然LLM拥有广泛的旅行领域知识,并能提供诸如兴趣点和潜在路线等高层信息,但当前

TSP:常春藤算法IVY求解旅行商问题TSP(可以更改数据),MATLAB代码

一、旅行商问题介绍 二、常春藤算法IVY求解TSP 2.1算法介绍 常春藤算法(Ivy algorithm,IVY)是Mojtaba Ghasemi 等人于2024年提出智能优化算法。该算法模拟了常春藤植物的生长模式,通过协调有序的种群增长以及常春藤植物的扩散和演化来实现。常春藤植物的生长速率是通过微分方程和数据密集型实验过程建模的。该算法利用附近常春藤植物的知识来确定生长方向,

旅行商问题要点和难点以及具体应用案例

旅行商问题(Travelling Salesman Problem, TSP)是一个经典的组合优化问题,涉及给定一系列城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路。这个问题在运筹学和理论计算机科学中非常重要,并且在多个领域有实际应用,如交通运输、电路板线路设计以及物流配送等。 问题描述 假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径。 路径的限制是每个城市只

这个假期,带着华为手表去旅行吧

夏天正是出游的好时节,来一场说走就走的旅行。当我们踏上旅途,怎么少的了一个贴心的好搭子呢?用华为手表的导航、听歌、支付,刷卡等功能,智慧出行更方便,轻松愉快享受旅行时光。 导航精准定位,一路轻松畅达 华为WATCH GT 4 精准的定位功能时刻为您指引方向,让您无需担心迷路,轻松找到想去的地方。详细的导航信息可以同步到小小的表盘上,无论是步行还是骑行,只需轻轻一瞥手腕,就能清晰地了解前行的方向

ACM-dijkstra + heap + stl 一个人的旅行 hdu 2066

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15164    Accepted Submission(s): 5155 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多