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

睿抗-2025年江西省第三题

输入样例1:

2 3
sns
euk

输入样例2:

5 7
skunsek
nukesnu
ukeseku
nsnnesn
uekukku

输入样例3:

2 2
ab
cd

解题思路:

用递归的思想,它有一个顺序s->n->u->k->e->s->......,那么通过判断目前这个字符是哪个字母,是这其中(s,n,u,k,e)的,假设该字符是s,再判断其四周有无n,其它类似,若不是(s,n,u,k,e)之中的或其四周无对应字母,则是false,直到目前字母到达字符串的右下角,则为true。

下面是对应的递归函数:

bool adjust(char array[500][500],long long a,long long b,long long h,long long w){cout<<array[h][w]<<endl;if(h==a-1&&w==b-1){return true;}else{if(array[h][w]=='s'){if(h+1<a&&array[h+1][w]=='n'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='n'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='n'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='n'){return adjust(array,a,b,h,w-1);}}if(array[h][w]=='n'){if(h+1<a&&array[h+1][w]=='u'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='u'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='u'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='u'){return adjust(array,a,b,h,w-1);}}if(array[h][w]=='u'){if(h+1<a&&array[h+1][w]=='k'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='k'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='k'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='k'){return adjust(array,a,b,h,w-1);}}if(array[h][w]=='k'){if(h+1<a&&array[h+1][w]=='e'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='e'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='e'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='e'){return adjust(array,a,b,h,w-1);}}if(array[h][w]=='e'){if(h+1<a&&array[h+1][w]=='s'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='s'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='s'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='s'){return adjust(array,a,b,h,w-1);}}return false;}
}

总体代码为:

#include<bits/stdc++.h>
using namespace std;
bool adjust(char array[500][500],long long a,long long b,long long h,long long w){cout<<array[h][w]<<endl;if(h==a-1&&w==b-1){return true;}else{if(array[h][w]=='s'){if(h+1<a&&array[h+1][w]=='n'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='n'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='n'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='n'){return adjust(array,a,b,h,w-1);}}if(array[h][w]=='n'){if(h+1<a&&array[h+1][w]=='u'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='u'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='u'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='u'){return adjust(array,a,b,h,w-1);}}if(array[h][w]=='u'){if(h+1<a&&array[h+1][w]=='k'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='k'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='k'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='k'){return adjust(array,a,b,h,w-1);}}if(array[h][w]=='k'){if(h+1<a&&array[h+1][w]=='e'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='e'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='e'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='e'){return adjust(array,a,b,h,w-1);}}if(array[h][w]=='e'){if(h+1<a&&array[h+1][w]=='s'){return adjust(array,a,b,h+1,w);}if(w+1<b&&array[h][w+1]=='s'){return adjust(array,a,b,h,w+1);}if(h-1>=0&&array[h-1][w]=='s'){return adjust(array,a,b,h-1,w);}if(w-1>=0&&array[h][w-1]=='s'){return adjust(array,a,b,h,w-1);}}return false;}
}
int main(){long long a,b;cin>>a>>b;char array[500][500];for(long long i=0;i<a;i++){for(long long j=0;j<b;j++){cin>>array[i][j];}}bool h=adjust(array,a,b,0,0);if(h){cout<<"Yes";}else{cout<<"No";}return 0;
}//2 3
//sns
//euk//5 7
//skunsek
//nukesnu
//ukeseku
//nsnnesn
//uekukku//2 2
//ab
//cd

这题我在比赛因种种原因,未做出,现在这个解题步骤相当于回顾,可能会有一定问题。欢迎提出!

http://www.lqws.cn/news/599671.html

相关文章:

  • python+uniapp基于微信小程序的流浪动物救助领养系统nodejs+java
  • 3.2.2、CAN总线-过滤器的使用
  • SQL学习笔记6
  • sqlmap学习笔记ing(1.Easy_SQLi(时间,表单注入))
  • 位运算经典题解
  • 高并发场景下,TCP/UDP丢包的隐藏陷阱
  • c语言学习_初识c语言21
  • 伊吖学C笔记(7、地址、指针、指针数组)
  • 面试拷打-20250701
  • 新版Android Studio默认展示类成员的问题解决
  • CPU缓存一致性
  • wifi无线调试连接手机远程控制 安卓 免root控制充电
  • FFmpeg中TS与MP4格式的extradata差异详解
  • GPIO详解:不仅仅是输入输出那么简单
  • 【MyBatis保姆级教程下】万字XML进阶实战:配置指南与深度解析
  • 【AI 时代的网络爬虫新形态与防护思路研究】
  • MySQL MVCC 详解
  • 快捷设置linux主机的ip和主机名
  • 视频断点续播全栈实现:基于HTML5前端与Spring Boot后端
  • STM32——代码开发顺序
  • GORM 删除操作实战指南:从单条记录到软删除最佳实践
  • Kotlin扩展函数与属性
  • Docker 安装 Neo4j 保姆级教程
  • VuePress 使用并应用 mcommon 模板
  • 3D一览通:在线查看3D模型,让协同更简单
  • GPT-1论文阅读:Improving Language Understanding by Generative Pre-Training
  • opencv入门(4)图像创建和赋值
  • 动手学深度学习13.5. 多尺度目标检测-笔记练习(PyTorch)
  • IDE全家桶专用快捷键----------个人独家分享!!
  • MCP 协议使用核心讲解