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

LEETERS题解

【题目描述】

给出一个row×colrow×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。

【输入】

第一行,输入字母矩阵行数RR和列数SS,1≤R,S≤201≤R,S≤20。

接着输出RR行SS列字母矩阵。

【输出】

最多能走过的不同字母的个数。

【输入样例】

3 6
HFDFFB
AJHGDH
DGAGEH

【输出样例】

6
#include <iostream>
#include <vector>using namespace std;const int MAXN = 20;
char matrix[MAXN][MAXN];
bool visited[26];
int row , col;
int maxCount = 0;int dx[] = {-1 , 1  , 0 , 0};
int dy[] = {0 , 0 , - 1, 1};// 深度优先搜索函数
void dfs(int x  , int y , int count) {//跟新最大经过字母数maxCount = max (maxCount , count);//遍历四个选项for(int i = 0; i < 4 ; ++i ){int newX = x + dx[i];int newY = y + dy[i];//check 位置是否合法if(newX >= 0  && newX < row && newY >= 0 && newY < col){int letterindex = matrix[newX][newY] - 'A';if(!visited[letterindex]) {visited[letterindex] = true;dfs(newX , newY   , count+1) ;visited[letterindex] = false; //回溯}}}}
int main() {cin >> row >> col;for (int i = 0; i < row; ++i) {for (int j = 0; j < col; ++j) {cin >> matrix[i][j];}}// 标记起点字母已访问int startLetterIndex = matrix[0][0] - 'A';visited[startLetterIndex] = true;// 从左上角开始深度优先搜索dfs(0, 0, 1);cout << maxCount << endl;return 0;
}

http://www.xdnf.cn/news/3474.html

相关文章:

  • 【速写】prune与activate
  • 尝试leaflet+webassemly
  • 【Python-Day 8】从入门到精通:Python 条件判断 if-elif-else 语句全解析
  • day09-面向对象综合训练
  • 实验三 软件黑盒测试
  • 【记录】台式机安装GTX1660驱动过程
  • 【RocketMQ 生产者消费者】- 同步、异步、单向发送消费消息
  • 学习与规划的融合Dyna-Q:python从零实现
  • BOFZ 緩衝區溢出shell脚本檢測工具
  • XGBoost算法详解:原理、实现与调优指南
  • py使用uniad原生sdk 3, 放弃Buildozer,使用BeeWare
  • 字符串转换整数(atoi)(8)
  • c++题目_P1027 [NOIP 2001 提高组] Car 的旅行路线
  • 征服大海的人
  • 算法题题型总结
  • Python学习笔记(第二部分)
  • ​​​​​​​2025年第二十二届五一数学建模竞赛题目A题 支路车流量推测问题
  • 用Python代码绘制跳动的梦幻爱心,感受编程的浪漫与奇妙
  • CHAPTER 12 Special Methods for Sequences
  • stm32数码管显示数字/循环
  • 2025五一杯数学建模C题:社交媒体平台用户分析问题,完整第一问模型与求解+代码
  • ‌AI与编程的范式革命:从工具到协作者的进化之路
  • 等保系列(一):网络安全等级保护介绍
  • OWASP TOP 10 2025
  • 第 11 届蓝桥杯 C++ 青少组中 / 高级组省赛 2020 年真题(选择题)
  • 408考研逐题详解:2009年第6题
  • PyTorch入门------训练图像分类器
  • 12.多边形的三角剖分 (Triangulation) : Fisk‘s proof
  • 车联网可视化:构建智能交通数字孪生
  • 全面理解 C++ 中的 `std::forward`