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

慈云数据 2024-04-23 技术支持 36 0

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

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

代码

#inClude
using NAMEspace std;
#define N 12
int 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 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
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon