第十五届蓝桥杯:dfs之数字接龙

server/2025/3/4 10:29:25/

#include <iostream>
using namespace std;
const int N = 300;
int a[N][N];//存值
int b[N][N];//判断某个点是否出现过 
int n,k;
string path;
int dx[] = {-1,-1,0,1,1,1,0,-1};
int dy[] = {0,1,1,1,0,-1,-1,-1};
bool dfs(int x,int y,int cur,int pos)
{if(pos == n*n && x == n-1 && y== n-1){cout << path << endl;return true;}for(int i = 0;i<=7;i++){int bx = x+dx[i];int by = y+dy[i];if(b[bx][by]) continue;if(bx<0 || bx>n-1 || by<0 || by>n-1)continue;if(((cur == k-1) && (a[bx][by] != 0)) || (cur < k-1 && a[bx][by] != cur+1)) continue;if(i==1&&b[bx][by-1]&&b[bx+1][by]) continue;else if(i==3&&b[bx-1][by]&&b[bx][by-1]) continue;else if(i==5&&b[bx-1][by]&&b[bx][by+1]) continue;else if(i==7&&b[bx+1][by]&&b[bx][by+1]) continue;b[bx][by] = 1;path+=to_string(i);if(dfs(bx,by,a[bx][by],pos+1))return true;b[bx][by] = 0;path.pop_back();}return false;}
int main()
{cin >> n >> k;for(int i = 0;i<n;i++){for(int j = 0;j<n;j++){cin >> a[i][j];} }b[0][0] = 1;if(!dfs(0,0,a[0][0],1))cout << -1 << endl;	return 0;
}


http://www.ppmy.cn/server/172307.html

相关文章

Java—初始多线程

多线程的理解 进程&#xff1a; 进程是程序的基本执行实体 每一个运行的软件都是一个进程 线程&#xff1a; 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。 简单理解&#xff1a;应用软件中互相独立&#xff0c;可以…

npm ERR! code 128 npm ERR! An unknown git error occurred

【问题描述】 【问题解决】 管理员运行cmd&#xff08;右键window --> 选择终端管理员&#xff09; 执行命令 git config --global url.“https://”.insteadOf ssh://git cd 到项目目录 重新执行npm install 个人原因&#xff0c;这里执行npm install --registryhttps:…

realsenseD455相机录制bag转为TUM数据集

本文参考 文章https://blog.csdn.net/m0_60355964/article/details/129518283?ops_request_misc%257B%2522request%255Fid%2522%253A%252211559cdf09f5ff02d4b1d97f2b0744ee%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id11559cdf09f5ff02d…

贪心算法精品题

1.找钱问题 本题的贪心策略在于我们希望就可能的保留作用大的5元 class Solution { public:bool lemonadeChange(vector<int>& bills) {std::map<int ,int> _map;for(auto ch:bills){if(ch 5) _map[ch];else if(ch 10){if(_map[5] 0) return false;else{_m…

计算机毕业设计SpringBoot+Vue.js手机商城 (源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

深度解析Ant Design Pro 6开发实践

深度解析Ant Design Pro 6全栈开发实践&#xff1a;从架构设计到企业级应用落地 一、Ant Design Pro 6核心特性与生态定位&#xff08;技术架构分析&#xff09; 作为Ant Design生态体系的旗舰级企业应用中台框架&#xff0c;Ant Design Pro 6基于以下技术栈实现突破性升级&am…

【Linux第一弹】Linux基础指令(上)

目录 1.ls指令 1.1 ls使用实例 2.pwd指令 3.cd指令 3.1 cd使用实例 4.touch指令 4.1touch使用实例 5.mkdir指令 5.1mkdir使用实例 6.rmdir指令和rm指令 6.1 rmdir指令使用实例->: 6.2 rm指令使用实例 7.man指令 8.cp指令 8.1 cp 使用实例 9.mv指令 9.1mv使用…

【ATXServer2】Android无法正确显示手机屏幕

文章目录 现象原因分析与解决排查手机内部minicap 解决minicap问题查看移动端Android SDK版本查看minicap支持版本单次方案多次方案 现象 原因分析与解决 由于atxserver2在与Android动终端的链接过程中使用了agent&#xff1a;atxserver2-android-provider&#xff0c;按照项目…