当前位置: 首页 > news >正文

第十五届蓝桥杯题解-数字接龙

题意:经过所有格子,并且不能进行交叉,走的下一个格子必须是当前格子值+1%k,输出路径最小的那一条(有8个方向,一会粘图)

思路:按照8个方向设置偏移量进行dfs,第一个到达终点的即为最小路径,直接输出即可

代码:

#include<bits/stdc++.h>
using namespace std;
#define N 12int n,k;
int g[N][N];
int x[]={-1,-1,0,1,1,1,0,-1};
int y[]={0,1,1,1,0,-1,-1,-1};
bool f,vis[N][N];
vector<int> path;void dfs(int u,int v,int st){if(f)return;if(u==n&&v==n&&st==n*n-1){for(auto it:path)cout<<it;cout<<endl;f=true;return;}for(int i=0;i<8;i++){int xx=u+x[i];int yy=v+y[i];if(xx<1||xx>n||yy<1||yy>n)continue;if(vis[xx][yy])continue;if(g[xx][yy]!=(st+1)%k)continue;if(i%2)if(vis[u+x[(i-1)%8]][v+y[(i-1)%8]]&&vis[u+x[(i+1)%8]][v+y[(i+1)%8]])continue;vis[xx][yy]=true;path.push_back(i);dfs(xx,yy,st+1);vis[xx][yy]=false;path.pop_back();}
}int main(){cin>>n>>k;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)cin>>g[i][j];vis[1][1]=true;dfs(1,1,0);if(!f)cout<<-1<<endl;return 0;
}/*
3 3
0 2 0
1 1 1
2 0 29 9
0 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 810 10
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 9
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 010 10
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0这组样例还是过不了!!! 
10 1
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
*/

 最后提一嘴:

这个爬山题也太难了吧,2 1 1 48 49这种样例咋做啊!!!期待官方std

http://www.lryc.cn/news/340658.html

相关文章:

  • 【vue】绑定事件 v-on
  • 【应用】SpringBoot-自动配置原理
  • 中文编程入门(Lua5.4.6中文版)第十二章 Lua 协程 参考《愿神》游戏
  • C++笔记之注册回调函数常见的5种情况对比
  • 人工智能揭示矩阵乘法的新可能性
  • 实在智能携手长江新零售俱乐部:探秘实在Agent数字员工,开启零售品牌增长新篇章
  • 计算机科学与导论 第十七 十八章 计算理论,人工智能
  • linux 设置定时任务---学习
  • 钡铼IOy系列模块深挖工业场景需求提供丰富多样的I/O解决方案
  • 【刷题笔记】第三天
  • 开源模型应用落地-LangChain试炼-CPU调用QWen1.5(一)
  • STM32-模数转化器
  • 算法刷题记录2
  • 中国代工巨头旗下芯片公司遭网络攻击,千兆字节数据被泄露
  • 【ARM 裸机】汇编 led 驱动之基本语法
  • scala---基础核心知识(变量定义,数据类型,流程控制,方法定义,函数定义)
  • OSPF星型拓扑和MGRE全连
  • 智能时代中的工业应用中前所未有的灵活桥接和I/O扩展功能解决方案MachXO2系列LCMXO2-1200HC-4TG100I FPGA可编程逻辑IC
  • php:实现压缩文件上传、解压、文件更名、压缩包删除功能
  • 【机器学习】科学库使用第5篇:Matplotlib,学习目标【附代码文档】
  • Java面试八股文(JVM篇)(❤❤)
  • 「51媒体」如何有效进行媒体邀约,提升宣传传播效果?
  • docker初始化进程
  • 基于快照行情的股票/基金 1分钟 K 线合成指南
  • 新质生产力崛起:精益化能力助力企业转型升级
  • 开发了一个在线客服系统
  • cowa新的数据筛选代码
  • 项目篇 | 图书管理系统 | 管理员模块 | 图书管理 | 删除
  • 自己动手封装axios通用方法并上传至私有npm仓库:详细步骤与实现指南
  • 【Sql Server】锁表如何解锁,模拟会话事务方式锁定一个表然后进行解锁