【基础】卒的遍历(DFS)

embedded/2025/1/4 5:14:59/
题目描述

在一张n*m的棋盘上(如6行7列)的最左上角(1,1)的位置有一个卒。该卒只能向下或者向右走,且卒采取的策略是先向下,下边走到头就向右,请问从(1,1)点走到(n,m)点可以怎样走,输出这些走法。

输入

两个整数n,m代表棋盘大小(3=<n<=8,3<=m<=8)

输出

卒的行走路线

样例输入 复制
3 3
样例输出 复制
1:1,1->2,1->3,1->3,2->3,3
2:1,1->2,1->2,2->3,2->3,3
3:1,1->2,1->2,2->2,3->3,3
4:1,1->1,2->2,2->3,2->3,3
5:1,1->1,2->2,2->2,3->3,3
6:1,1->1,2->1,3->2,3->3,3

 代码:

#include <bits/stdc++.h>
using namespace std;
int n,m,ans=0,vis[15][15];
int dx[4]= {1,0},dy[4]= {0,1};
struct te {int dx;int dy;
};
te a[20];
void dfs(int x,int y,int step) {if(x==n&&y==m) {a[step].dx=x;a[step].dy=y;ans++;cout<<ans<<":"<<a[0].dx<<","<<a[0].dy;for (int i=1; i<=step; i++) {cout<<"->"<<a[i].dx<<","<<a[i].dy;}cout<<endl;}vis[x][y]=1;a[step].dx=x;a[step].dy=y;for (int i=0; i<2; i++) {int tx=x+dx[i],ty=y+dy[i];if(tx>0&&ty>0&&tx<=n&&ty<=m&&vis[tx][ty]==0) {step++;dfs(tx,ty,step);vis[tx][ty]=0;step--;}}
}
int main() {cin>>n>>m;dfs(1,1,0);return 0;
}


http://www.ppmy.cn/embedded/150563.html

相关文章

vscode代码AI插件Continue 安装与使用

“Continue” 是一款强大的插件&#xff0c;它主要用于在开发过程中提供智能的代码延续功能。例如&#xff0c;当你在编写代码并且需要进行下一步操作或者完成一个代码块时&#xff0c;它能够根据代码的上下文、语法规则以及相关的库和框架知识&#xff0c;为你提供可能的代码续…

CSS 过渡动画效果

在 CSS 中&#xff0c;transition 是用来实现元素属性平滑过渡的一个属性。通过 transition&#xff0c;你可以指定当元素的状态发生变化时&#xff0c;如何在一定时间内平滑地过渡到新的样式&#xff0c;而不是立即跳变。 使用于侧边栏展开和收起了&#xff0c;左侧区域的自适…

android知识巩固(二.非线性数据结构)

非线性结构:是从逻辑结构上划分,其元素存在一对多或者多对多的相互关系 1.前言 在前一章中,我们了解了数据结构的基本思想,学习了部分基本的线性数据结构,了解了计算机是如何表示和存储数据的,良好的数据结构思想有助于我们写出性能优良的应用 2.目录 目录.png 3.非线性数据结构…

自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发

学习了一些API 13之后&#xff0c;我决定研究一下 PreviewKit&#xff08;文件预览服务&#xff09;。这个模块可以快速预览多种文件类型&#xff0c;包括文本、图片、视频、音频和 PDF 等&#xff0c;为文件管理类应用提供了系统级支持。 这次学习不仅是技术上的积累&#xff…

数据中心基础设施管理平台:构建高效、安全与可扩展的基石

数据中心基础设施管理平台&#xff1a;构建高效、安全与可扩展的基石 在数字经济快速发展的背景下&#xff0c;数据中心作为数据存储、处理与传输的核心设施&#xff0c;其重要性不言而喻。为确保数据中心的稳定运行和高效管理&#xff0c;数据中心基础设施管理平台应运而生。…

Pytest基础01: 入门demo脚本

目录 1 Pytest接口测试 1.1 最简单版hello world 1.2 pytest.ini 2 pytest兼容unittest 3 封装pytest执行入口 1 Pytest接口测试 Pyest是一个可以用于接口测试的强大框架&#xff0c;开源社区也有非常多的pytest插件。 按江湖传统&#xff0c;学习一个新语言或者新框架&…

MyBatis如何处理延迟加载?

大家好&#xff0c;我是锋哥。今天分享关于【MyBatis如何处理延迟加载&#xff1f;】面试题。希望对大家有帮助&#xff1b; MyBatis如何处理延迟加载&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MyBatis 中&#xff0c;延迟加载&#xff08;Laz…

.net core 的算法与数据结构

Python基础 Python是一种广泛使用的高级编程语言&#xff0c;以其简洁易读的语法和强大的功能而闻名。自1991年发布以来&#xff0c;Python作为一种通用编程语言&#xff0c;已经在数据分析、人工智能、Web开发、自动化脚本及许多其他领域取得了巨大的成功。本文章将为您介绍P…