HLG移动

article/2025/8/16 6:58:36

在平面坐标系内,有两个坐标轴x轴和y轴。(x,y)表示点的坐标。

有一点处于(x1,y1)位置上,他可以向相临8个位置移动(移动方式见下图)。

划定范围:此点只可以在[0<=x<=300,0<=y<=300]范围内移动。

要求:给出起始位置(x1,y1)和目标位置(x2,y2),要求同学求出从起始位置移动到目标位置所需的最少次数。

Input

输入包括多组测试用例。

对于每组测试用例,包含4个正整数,x1,y1,x2,y2,范围均为[0,300]。

Output
输出移动所需的最少次数。
Sample Input

0 0 1 2

0 0 2 1


vis【i][j】 == -1 表示没被访问过,bfs模板题


#include <iostream>

#include <queue>
#include <stdio.h>
#include <string.h>


using namespace std;


int vis[400][400];
struct point
{
    int x0;
    int y0;
};


int move[8][2] = {{-2,1}, {2,1}, {-1,2}, {1,2}, {-2,-1}, {2,-1}, {-1,-2}, {1,-2}};


bool check( point now){
    if( (vis[now.x0][now.y0]== -1)
      &&(now.x0>=0&&now.x0<=300&&now.y0>=0&&now.y0<=300) )
    return 1;
    else return 0;
}
void bfs(int x1, int y1,int x2, int y2)
{
    queue<point> que;
    point now,temp;
    now.x0 = x1;
    now.y0 = y1;
    que.push(now);
    vis[now.x0][now.y0] = 0;


    while(!que.empty())
    {
        temp = que.front();
        que.pop();


        for( int i = 0; i<8; i++)
        {
            now.x0 = temp.x0 + move[i][0];
            now.y0 = temp.y0 + move[i][1];


            if(check(now))
            {


                que.push(now);
                vis[now.x0][now.y0] = vis[temp.x0][temp.y0] + 1;
                 if(now.x0 == x2 && now.y0 == y2)
                  return ;
            }
        }
    }


}


int main()
{
    int x1,y1,x2,y2;
    while(scanf("%d%d%d%d", &x1, &y1, &x2, &y2)!= EOF)
    {
       memset(vis,-1,sizeof(vis));
        if(x1 == x2 && y1== y2)
         printf("0\n");
        else
        {


            bfs(x1,y1,x2,y2);
            cout<<vis[x2][y2]<<endl;
         }
    }
    return 0;
}

http://chatgpt.dhexx.cn/article/c5FnwdyM.shtml

相关文章

HLG 2025

确定大小 Time Limit: 1000 MSMemory Limit: 32768 K Total Submit: 50(15 users)Total Accepted: 12(11 users)Rating: Special Judge: NoDescription现在有N个字母&#xff0c;&#xff08;N < 26&#xff09;&#xff0c;我们称之为A、B、C、D......。这次他们之间想确定…

SDR屏幕放HDR(HLG)视频画面泛灰

假设场景线性光E&#xff08;RGB&#xff09;1. SDR&#xff1a;数据位宽为10bit。灰度值2^10 * E1023; HDR&#xff1a;HDR根据OETF&#xff08;光电转换&#xff09;将相对场景线性光映射到非线性信号值 E 0.5&#xff1b; 灰度值2^10*0.5512&#xff1b; 所以本来需要显…

HDR相关标准-HLG/HDR10/HDR10+/DOLBY VISION

目录 主要参考信息 动态元数据及使用 相关标准文件 主要参考信息 杜比视界HDR参数_qq26983255的博客-CSDN博客_pq和hlghttps://blog.csdn.net/qq26983255/article/details/119830337?spm1001.2014.3001.5502 HDR到底是什么&#xff1f;_相见不如怀念-CSDN博客一&#xf…

PQ和HLG标准及其转换

目录 PQ标准的电光转换函数PQ_EOTF PQ标准的光电转换函数PQ_OETF HLG标准的电光转换函数HLG_EOTF HLG标准的光电转换函数 HLG_OETF HLG标准转PQ标准HLG2PQ PQ标准转HLG标准PQ2HLG PQ标准的电光转换函数PQ_EOTF PQ标准的光电转换函数PQ_OETF HLG标准的电光转换函数HLG_EOTF…

OpenGLSL中处理HDR.ToneMapping(HLG)

紧跟前提文章&#xff0c;没有HDR.ToneMapping知识基础的同学请先阅读之前的文章&#xff1a; HDR in Android 专栏 这篇文章主要是介绍在GLSL中处理HLG&#xff08;hybrid-log-gamma 混合对数伽马曲线&#xff09;的HDR tonemap SDR的渲染流程。 先看看Wiki有关HLG的概述&am…

HDR中HLG与PQ曲线的互转

HDR视频中由于电光转换曲线的不同&#xff0c;技术标准也大致分为了杜比视界、HDR10、HDR10、HLG等&#xff0c;目前常用的主要是以PQ曲线的HDR10和HLG。这两者之间的区别在HDR视频编码参数中进行过详细的说明。一般的HLG适用于广电&#xff08;根据用户设备的峰值亮度动态的调…

使用DataList吧

这是个具有明显煽动性的标题&#xff0c;没错&#xff0c;在这里就是提议大家使用DataList。在MSDN中文站有一篇关于repeater&#xff0c;datalist和datagrid的性能测试的文章&#xff0c;我也把这篇文章转到了我的站的“转载嘿嘿 希望你接受我的教训 一定早做打算 精华”里&am…

html5-datalist标签-定义选项列表

datalist使用 datalist使用需与input关联起来&#xff0c;input定义list属性&#xff0c;同时datalist定义id属性&#xff0c;两者的值必须相同。 实例代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><m…

常用数据集合—List

1、List、Map、Set、Queue、Array 2、数据结构&#xff1a;数组、链表 3、实现List方法的类Ctrl T&#xff08;设置的是Eclipse快捷键&#xff09;或右键查找 4、这里就简单看下最常用的ArrayList 5、构造方法一目了然 6、添加数据&#xff0c;一条条添加或者添加集合 良好…

DataList的数据绑定

8.4.1 DataList的数据绑定 DataList控件中通过自定义模板来设置数据的显示样式&#xff0c;它支持如下模板类型&#xff1a; ItemTemplate&#xff1a;包含一些 HTML元素和控件&#xff0c;将为数据源中的每一行呈现一次这些HTML元素和控件。 AlternatingItemTemplate&#xf…

datalist标签

学习笔记&#xff0c;仅供参考&#xff0c;有错必纠 参考自&#xff1a;w3school 关于datalist标签 <datalist> 标签定义选项列表&#xff0c;应该与 <input>标签配合使用该&#xff0c;它定义 input 可能的值&#xff1b; <datalist> 及其选项不会被显示出…

datalist 元素

效果图&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>datalist 元素</title> </head> <body><form action"#" method"post">请输入用户…

<datalist>标签

<datalist>标签是HTML5新增的元素&#xff0c;用于input的标签可选值。 用法&#xff1a;input标签的list属性指定自定义的datalist可选值&#xff0c;datalist的id于list值相同即可完成绑定。 可选值: <input type"text" list"myDatalist">…

数据列表DataList模板之实例

1&#xff0c;数据列表DataList与重复列表Repeator很类似&#xff0c;但是DataList应用更广泛&#xff0c;因为他可以选择和修改数据项的内容。 DataList的数据显示和布局与Repeator控件一样都是通过“模板”控制的。 &#xff08;注&#xff1a;模板至少要定义一个“数据项模…

DataList详细用法

DataList控件与Repeater控件一样由模板驱动,与Repeater控件不同的是: DataList控件默认输出是一个HTML表格.DataList在输出时已经在相应的模板上套上了表格标签,而Repeater则是模板是什么样,输出就是什么样. 1. DataList显示数据 例1:使用DataList显示数据 Code <as…

DataList 用法详解

<% Page Language"C#" AutoEventWireup"true" CodeBehind"DataList.aspx.cs" Inherits"FileUpload自动上传文件.DataList" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w…

datalist标签使用

jsp使用datalist标签写可查询可输入下拉框样式 jsp使用datalist标签写可查询可输入下拉框样式。需求用法 jsp使用datalist标签写可查询可输入下拉框样式。 需求 jsp页面实现可选择,可查询,可输入的下拉选择框, 一段废话 本来想用select看看有什么属性可以实现,但基本上接触的…

DataList内容详解

DataList是另一种显示数据控件&#xff0c;它与GridView不同的是&#xff0c;它全部使用模板进行设计&#xff0c;并且DataList的模板是对整行设置&#xff0c;而不是像GridView那样只对某一列进行模板设计。 正是由于它使用模板进行设计&#xff0c;所以它的灵活性比GridView更…

DataList控件详细用法(一)

使用DataList控件 本章内容&#xff1a; 1、理解事件冒泡 2、使用模板 3、在DataList中显示数据 4、在DataList中创建多列 5、捕获DataList控件中产生的事件 6、选择DataList中的项 7、使用DataList控件中的DataKeys集合 8、编辑DataList中的项 本章介绍在ASP.NET框架中功能…