2016国赛-路径之谜

在这里插入图片描述
在这里插入图片描述
分析:

看到n*n以及四个方向移动,那么就直接使用dfs即可。根据题意可知起始位置是(0,0),终点位置是(n-1,n-1)。
又有要求靶子上的箭数决定了走的路径,那么我们就要加一个判断各个方位的箭数是否符合要求。

示例代码:

#include<bits/stdc++.h>
using namespace std;
const int N = 25;
int n,w[N],e[N],vis[N][N]; 
vector<int> a;
int dx[]={0,0,-1,1},dy[]={-1,1,0,0};
bool isnmp(int x,int y){return x>=0&&x<n&&y>=0&&y<n;
}
bool dfs(int x,int y){if(x==n-1&&y==n-1){for(int i=0;i<n;i++){if(w[i]||e[i])return false;}return true;}	for(int i=0;i<4;i++){int nx=x+dx[i],ny=y+dy[i];if(!isnmp(nx,ny)||vis[nx][ny]||(nx!=n-1&&e[nx]==0)||(ny!=n-1&&w[ny]==0))continue;vis[nx][ny]=1;w[ny]--,e[nx]--;a.push_back(nx*n+ny);if(dfs(nx,ny))return true;vis[nx][ny]=0;w[ny]++,e[nx]++;a.pop_back();}return false;
}
int main(){ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cin>>n;for(int i=0;i<n;i++)cin>>w[i];for(int j=0;j<n;j++)cin>>e[j];vis[0][0]=1;w[0]--,e[0]--;a.push_back(0); if(dfs(0,0)){for(const auto& i : a)cout<<i<<' ';}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/570870.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【多模态融合】SuperFusion 激光雷达与相机多层次融合 远距离高清地图预测 ICRA 2024

前言 本文介绍激光雷达与相机进行多层次融合&#xff0c;包括数据级融合、特征级融合和BEV级融合。 融合后的BEV特征可以支持不同的任务头&#xff0c;包括语义分割、实例编码和方向预测&#xff0c;最后进行后处理生成高清地图预测&#xff0c;它是来自ICRA 2024的。 会讲解…

jsp将一个文本输入框改成下拉单选框,选项为字典表配置,通过后端查询

一&#xff0c;业务场景&#xff1a; 一个人员信息管理页面&#xff0c;原来有个最高学历是文本输入框&#xff0c;可以随意填写&#xff0c;现在业务想改成下拉单选框进行规范化&#xff0c;在专科及以下、本科、研究生三个选项中选择&#xff1b; 二&#xff0c;需要解决问…

R语言随机抽取数据,并作两组数据间t检验,并保存抽取的数据,并绘制boxplot

前提&#xff1a;接着上述R脚本输出的seed结果来选择应该使用哪个seed比较合理&#xff0c;上个R脚本名字&#xff1a; “5utr_计算ABD中Ge1和Lt1的个数和均值以及按照TE个数小的进行随机100次抽样.R” 1.输入数据&#xff1a;“5utr-5d做ABD中有RG4和没有RG4的TE之间的T检验.c…

QQ屠龙者终成为恶龙!工作与生活的平衡:挑战与解决方案——早读(逆天打工人爬取热门微信文章解读)

屠龙者终成为恶龙 引言Python 代码第一篇 洞见 看了上海临时工睡桥洞的现场&#xff0c;我不敢让老板知道上班苦第二篇 人民日报 来了&#xff01;新闻早班车要闻社会政策 结尾 昔日斩棘披荆的屠龙勇士 历经岁月涤荡 竟在不知不觉间铸就了自己心中的铁壁铜墙 终有一日 赫然发现…

java多线程编程面试题总结

一些最基本的基础知识就不总结了&#xff0c;参考之前写的如下几篇博客&#xff0c;阅读顺序从上到下&#xff0c;依次递进。 java 多线程 多线程概述及其三种创建方式 线程的常用方法 java 线程安全问题 三种线程同步方案 线程通信&#xff08;了解&#xff09; java 线程池…

域风网:韩国.KR域名注册量分析

近年来,随着韩国经济实力和科技实力的不断提升,该国域名注册量呈现爆发式增长,充分展现了韩国在互联网时代的重要地位。 数据显示,截至2023年6月,韩国的顶级域名(.KR)注册量已超过360万个,较2018年同期激增近40%。这一数字不仅在全球名列前茅,也远超同期其他亚洲主要国家的域名…

客户管理大揭秘!热门盘点:5款CRM工具推荐!

“本期为大家盘点客户管理中常用的5款CRM工具&#xff1a;Zoho CRM、Salesforce、Hubspot、Freshsales、和Pipedrive。” 我们会从产品特点、适用性等方面对每款产品进行全面考量。无论您是想提高客户参与度、自动化销售流程&#xff0c;还是从数据中获得可操作的见解&#xf…

Git学习笔记之基础

本笔记是阅读《git pro》所写&#xff0c;仅供参考。 《git pro》网址https://git-scm.com/book/en/v2 git官网 https://git-scm.com/ 一、git起步 1.1、检查配置信息 git config --list查看所有的配置以及它们所在的文件 git config --list --show-origin可能有重复的变量名…

在 Linux CentOS 中安装 Docker Engine(Dockers 引擎)【图文详解】

官方文档&#xff1a;https://docs.docker.com/engine/install/centos/ 操作系统要求 如果我们要在 CentOS 中安装 Docker 引擎&#xff0c;那么 CentOS 操作系统需要是以下版本之一的&#xff0c;且是处于维护的 CentOS 版本&#xff1a; CentOS 7CentOS Stream 8CentOS Str…

RocketMQ学习笔记:高可用机制(未完成)

这是本人学习的总结&#xff0c;主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、规避策略1.1、默认规避策略故障延迟机制策略 2、消息负载均衡2.1、生产者的负债均衡2.2、消费者的负载均衡 1、规避策略 所谓的高可用机制就是RocketMQ如何让生产者尽可能地成功发送消息…

VPN基础

一、VPN概念 1、概述 &#xff08;1&#xff09;虚拟专用网络(VPN)的功能是&#xff1a;在公用网络上建立专用网络&#xff0c;进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN可通过服务器、硬件、软件等多种方式…

【小黑送书—第十四期】>>重磅升级——《Excel函数与公式应用大全》(文末送书)

今天给大家带来AI时代系列书籍&#xff1a;《Excel 2019函数与公式应用大全》全新升级版&#xff0c;Excel Home多位微软全球MVP专家打造&#xff0c;精选Excel Home海量案例&#xff0c;披露Excel专家多年研究成果&#xff0c;让你分分钟搞定海量数据运算&#xff01; 由北京…