hdu1026 Ignatius and the Princess I

ML.NET在工业上位机中的深度应用:如何用C#实现10ms级预测推理? 模型要“够用就好”:工业场景的规律往往不复杂,别迷信深度学习,FastTree、线性模型足够应付80%的场景,且速度快3-5倍;预处理“能省就省”:离线做90%的特征工程,实时只处理动态变化的10%,这是突破10ms的关键;代码“贴近硬件”:用struct、数组池、SIMD等“非托管技巧”写C#,避免GC成为实时性瓶颈;测试“模拟极端”:在目标工控机上用100%负载(同时跑PLC通信、运动控制、视觉检测)测试推理延迟,确保极端情况下仍达标。 阅读详情
题目链接:

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=98233#problem/H

题目大意:

模拟一个人走迷宫,遇到怪兽要和他决斗,决斗时间为那个格子的数字。输出(0,0)->(n-1,m-1)的最短路且show the way。

分析:

题不难,不过写的时候太粗心了,第一次dfs没过,之后用bfs+记忆化搜索,有个细节写的时候没注意,改了好久才反应过来。唯一一个比较麻烦的点就是打印路径,用一个结构体数组dir[4] = { { 0, -1 }, { -1, 0 }, { 1, 0 }, { 0, 1 } }; 记录方向,用int mark[y][x]记录上一个位置(y1,x1)到本次位置(y,x)的方向下标i。本次位置=上一个位置+dir[i],那么上一个位置=本次位置-dir[i],由最后一个位置(N-1,M-1)递归往回找,直到位置(0,0)停止。

代码:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstring>
#include<stdio.h>
#include<stdlib.h>
#include<queue>
using namespace std;
#define MAX 100000
struct node
{
    int x;//对应列
    int y;//对应行
};
struct node dir[4] = { { 0, -1 }, { -1, 0 }, { 1, 0 }, { 0, 1 } };
char map[105][105];
int vis[105][105];
int mark[105][105];//路径
int N, M;
bool flag;
bool judge(int x,int y)
{
    if (x >= 0 && x < M && y >= 0 && y < N  && map[y][x] != 'X')
    {
        return true;
    }
    return false;
}
void BFS()
{
    struct node p;
    p.x = 0;
    p.y = 0;
    vis[0][0] = 0;
    queue<node> q;
    q.push(p);
    while (!q.empty())
    {
        p = q.front();
        q.pop();
        if (p.y == N - 1 && p.x == M - 1)
        {
            flag = true;
            //return;
        }
        for (int i = 0; i < 4; i++)
        {
            struct node p1 = p;
            p1.y += dir[i].y;
            p1.x += dir[i].x;
            if (judge(p1.x, p1.y))
            {
                int curTime = 0;
                if (map[p1.y][p1.x]>='1' && map[p1.y][p1.x]<='9')
                {
                    curTime += (int)(map[p1.y][p1.x]-'0'+1);
                }
                else
                {
                    curTime++;
                }
                if (vis[p1.y][p1.x] > curTime + vis[p.y][p.x])
                {
                    vis[p1.y][p1.x] = curTime + vis[p.y][p.x];
                    q.push(p1);
                    mark[p1.y][p1.x]=i;
                }
            }
        }
    }
}
int ans;
void showPath(int y,int x)
{
    if (y == 0 && x == 0)
    {
        return;
    }
    int y1 = y - dir[mark[y][x]].y;
    int x1 = x - dir[mark[y][x]].x;
    showPath(y1,x1);
    printf("%ds:(%d,%d)->(%d,%d)\n",ans++,y1,x1,y,x);
    if (map[y][x] >= '1' && map[y][x] <= '9')
    {
        int time = map[y][x] - '0';
        while (time--)
        {
            printf("%ds:FIGHT AT (%d,%d)\n", ans++, y, x);
        }
    }
}
int main()
{
    while (scanf("%d%d", &N, &M) != EOF)
    {
        flag = false;
        memset(mark,0,sizeof(mark));
        memset(map,0,sizeof(map));
        for (int i = 0; i < N; i++)
        {
            for (int j = 0; j < M; j++)
            {
                cin >> map[i][j];
                vis[i][j] = MAX;
            }
        }
        BFS();
        if (!flag)
        {
            printf("God please help our poor hero.\n");
        }
        else
        {
            int min = vis[N - 1][M - 1];
            ans = 1;
            printf("It takes %d seconds to reach the target position, let me show you the way.\n", min);
            showPath(N-1,M-1);
        }
        printf("FINISH\n");
    }
    return 0;
}
7.5华为OD机试真题 新系统 - 省超足球比赛获胜队伍计算 (Java/Py/C/C++/Js/Go) 7.5华为OD机试真题 新系统 - 省超足球比赛获胜队伍计算 (Java/Py/C/C++/Js/Go) 阅读详情

相关推荐

XC7K325T FPGA硬件设计实战:从板级原理图到高速接口优化

本文以XC7K325T FPGA为核心,详细阐述了从板级原理图设计到高速接口优化的完整硬件实战流程。内容涵盖芯片管脚与电源规划、时钟复位配置电路设计,并重点解析了DDR3内存子系统以及PCIe与光纤接口等高速电路的原理图与PCB设计要点,旨在帮助工程师构建稳定可靠的高性能硬件平台。

python9snake的博客 511

hdu 1026 Ignatius and the Princess I

hdu   1026   Ignatius and the Princess I                 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1026 题目大意:经典二维迷宫问题,魔王、公主与勇士的故事,这不是魔塔么???!!! 题目分析:又是要求输出路径的BFS,还打小怪兽,不过不怕,poj3984打印过路径,hdu1242也

slicer的技术交流栈 824

COMSOL求解器实战:如何避免非线性问题求解失败(附牛顿法调试技巧)

本文深入探讨了COMSOL求解器在处理非线性问题时常见的失败原因及解决方案。通过分析物理模型非线性特性、初始条件敏感性和求解器参数配置,提供了牛顿法调试的黄金四步法,包括模型检查、分阶段求解、参数调优和高级诊断工具应用。特别针对材料非线性、几何非线性和多物理场耦合等典型工程场景,给出了实战技巧和预防性建模策略,帮助工程师有效避免求解失败。

weixin_29284657的博客 418

HDU1026——Ignatius and the Princess I,HDU1027——Ignatius and the Princess II,HDU1028——Ignatius and the

a矩阵:存储迷宫的信息,其中X表示障碍物,表示空地,数字1-9表示需要战斗的格子。flag矩阵:标记格子是否已被访问过。d数组:定义了四个移动方向。node结构体:包含坐标y和x,以及到达该格子的步数step。pre数组:用于记录每个格子的前一个格子,以便回溯路径。

u014114223的博客 2101

【ESP32】1.编译、烧录、创建工程

本文介绍了在VSCode中搭建ESP32开发环境并烧录"Hello World"工程的过程。首先通过串口工具成功下载固件后,解决了OpenOCD报错问题。针对头文件无法识别的问题,修改了c_cpp_properties.json配置文件,调整了编译器路径和IntelliSense模式。文章还详细说明了创建新工程的步骤,包括选择芯片型号和项目模板,并验证了串口打印功能。最后提醒在项目构建时要等待完成,避免文件缺失。整个流程涵盖了环境搭建、代码烧录、调试及新项目创建等关键环节。

梁山1号 1485

AI训练师团队管理运营思路

工具运营AI训练师主要是支撑运营,协助算法和运营提高托管机器人的解决能力,以协助降低业务场景熔断与优化场景识别为核心运营目标,通过算法聚类、标注分析等方式,结合业务知识,提供精准、清晰的标注数据和解决方案,确保训练效果满足需求。过程中需要与算法、运营一块参与模型搭建和数据验收,并且负责核心指标和数据日常的跟踪维护。④针对知识库已有意图进行梳理和分析,反馈运营评估缺失或合并意图优化方向。③对语料数据进行挖掘、清洗,解除缠绕、冗余等问题导致的未识别。①线上case分析,及时发现识别问题导致的托管熔断问题。

qq_25438419的博客 1084

hdu 1026 Ignatius and the Princess I

hdu 1026 Ignatius and the Princess I         题目要求的是从(0, 0)到(n-1, m-1)的最小秒数啦, 首先想到的就是广搜啦, 这道题要求输出搜索过的路径哦, 那么就需要一个额外的数组来记录了.         用turn[][]数组来记录每次转过的方向, 一次广搜结束后, 然后再从终点顺着走回来, 就可完成路径的记录啦. #incl

happen_zhang 616

HDU1026 Ignatius and the Princess I

问题链接:HDU1026 Ignatius and the Princess I。 题意简述:从矩阵的左上角走到右下角所需的最短时间,并且要求输出走的过程。矩阵中"."是可以走的,"X"是墙,n(数字1-9)是怪兽,需要战斗数字所示的时间。对于每个测试实例,先输入n和m,分别表示行数和列数,然后输入矩阵。 问题分析:显然求最短路径问题用BFS,另外由于有怪兽...

weixin_33904756的博客 91

【银河麒麟桌面系统】自定义ISO镜像操作实践

本文详细介绍了麒麟操作系统Kylin-Desktop-V10-SP1的ISO镜像定制流程。通过挂载原始镜像、解压文件系统、进入chroot环境进行系统定制(包括文件替换和软件管理),最终重构squashfs并生成新ISO。关键步骤包括:挂载镜像到mnt目录、解压filesystem.squashfs、替换源配置文件、在chroot环境中清理系统、重新生成squashfs文件以及使用mkisofs命令创建新镜像。文章特别标注了x86和ARM架构的不同命令参数,并提供了安装测试验证方法。整个过程展示了从原始镜像

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 2342

基于 FastAPI + LangGraph + LLM 大语言模型的通用 Agent 多智能体系统架构设计与开发实战、产业应用

FastAPI是一个现代、快速(高性能)的Python Web框架,专门用于构建API。它由Sebastián Ramírez(@tiangolo)创建,基于Starlette(用于Web部分)和Pydantic(用于数据部分)构建。性能优先:FastAPI是当前最快的Python Web框架之一,性能与NodeJS和Go相当。这得益于其基于Starlette的异步架构,能够充分利用Python 3.6+的async/await特性。开发效率。

AI天才研究院 230

HDU 1026 Ignatius and the Princess I

题目链接:传送门 Problem Description The Princess has been abducted by the BEelzebub feng5166, our hero Ignatius has to rescue our pretty Princess. Now he gets into feng5166's castle. The castle is a large ...

贾作真时真亦贾的博客 275

【MTK平台】【wpa_supplicant】关于wpa_supplicant/p2p_supplicant.c文件的介绍

本文主要介绍external/wpa_supplicant_8/wpa_supplicant/p2p_supplicant.c 这个文件这个文件里面有个核心的方法就是。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 724

hdu 1026 Ignatius and the Princess I题解

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1026 菜鸟第一发。。。 题目大意:给出一张n*m的图,'.'表示道路,'X'表示不能通过的地方,数字n表示怪物的血量(打死需要花费n秒),每走一步需花费一秒,只能往上下左右四个方向走。要求找出从(0, 0)点到(n-1, m-1)点用时最短的路径,并按照样例把路径输出来。 思路:用bfs寻找

pai_pk的博客 334

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

HDU - 1026 Ignatius and the Princess I

The Princess has been abducted by the BEelzebub feng5166, our hero Ignatius has to rescue our pretty Princess. Now he gets into feng5166's castle. The castle is a large labyrinth. To make the problem ...

vocaloid01的博客 305

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU1026——Ignatius and the Princess I

先看题目。 Problem Description The Princess has been abducted by theBEelzebub feng5166, our hero Ignatius has to rescue our pretty Princess. Now hegets into feng5166's castle. The castle is a large labyr

a054545641的博客 378

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HDU 1026 Ignatius and the Princess I BFS 优先队列

Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 18557    Accepted Submission(s): 5976 Special Judge Problem

LZK1997的博客 886

hdu 1026 Ignatius and the Princess I

题目链接 Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 14047    Accepted Submission(s): 4422 Special Judge

大太阳 818

HDU 1026 Ignatius and the Princess I

Ignatius and the Princess I                                                                       Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)              

Houheshuai的专栏 507

HDU1026:Ignatius and the Princess I

点击打开题目链接 Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8688    Accepted Submission(s): 2590 Special J

I just want to AC you~~~ 1127

HDU OJ 1026 Ignatius and the Princess I 【搜索+记录路径】

原题连接:http://acm.hdu.edu.cn/showproblem.php?pid=1026 题意: 给一个 n * m 的矩阵,X 代表墙 . 代表路,若是数字 ,则该点有 怪,需要 打怪。从求 从(0,0 )点 到  (n-1,m-1)点的用时最小的路,要输出路径。 思路:1:求用时最小路----BFS(广搜)+ 优先队列;             2:在搜到一个点时对应记

nyist_飘谊 2671
上一篇: PAT1096Consecutive Factors
下一篇: 位运算及其应用
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值