P1101 单词方阵
题目描述
给一nXn的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间[color=red]可以[/color]交叉,因此有可能共用字母。输出时,将不是单词的字母用“*”代替,以突出显示单词。例如:
输入:
8 输出:
qyizhong *yizhong
gydthkjy gy******
nwidghji n*i*****
orbzsfgz o**z****
hhgrhwth h***h***
zzzzzozo z****o**
iwdfrgng i*****n*
yyyygggg y******g
输入输出格式
输入格式:
第一行输入一个数n。(7<=n<=100)。
第二行开始输入nXn的字母矩阵。
输出格式:
突出显示单词的nXn矩阵。
输入输出样例
输入样例#1:
7 aaaaaaa aaaaaaa aaaaaaa aaaaaaa aaaaaaa aaaaaaa aaaaaaa
输出样例#1:
******* ******* ******* ******* ******* ******* *******
练习搜索
#include <cstring> #include <math.h> #include <vector> #include <queue> #include <cstdio> #include <iostream> #include <cstring> using namespace std; int n; char key[8]={0,'y','i','z','h','o','n','g'}; char map[120][120]; bool ok[120][120]; int line[10][3]; void dfs(int x,int y,int t,int last)//t已完成匹配的字母数 { if(t==7) { for(int i=1;i<=7;i++) ok[line[i][1]][line[i][2]]=1; ok[x][y]=1; return ; } line[t][1]=x,line[t][2]=y; char c=key[t+1]; if(map[x+1][y]==c&&(last==0||last==1)) dfs(x+1,y,t+1,1); if(map[x-1][y]==c&&(last==0||last==2)) dfs(x-1,y,t+1,2); if(map[x][y+1]==c&&(last==0||last==3)) dfs(x,y+1,t+1,3); if(map[x][y-1]==c&&(last==0||last==4)) dfs(x,y-1,t+1,4); if(map[x-1][y-1]==c&&(last==0||last==5)) dfs(x-1,y-1,t+1,5); if(map[x-1][y+1]==c&&(last==0||last==6)) dfs(x-1,y+1,t+1,6); if(map[x+1][y+1]==c&&(last==0||last==7)) dfs(x+1,y+1,t+1,7); if(map[x+1][y-1]==c&&(last==0||last==8)) dfs(x+1,y-1,t+1,8); return; } int main() { scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>map[i][j]; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { if(map[i][j]=='y') dfs(i,j,1,0); } for(int i=1;i<=n;i++,cout<<endl) for(int j=1;j<=n;j++) if(ok[i][j]) printf("%c",map[i][j]); else printf("*"); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App