博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P1101 单词方针
阅读量:5030 次
发布时间:2019-06-12

本文共 1970 字,大约阅读时间需要 6 分钟。

题目描述

给一 n×n 的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 88 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用*代替,以突出显示单词。例如:

输入:    8                     输出:    qyizhong              *yizhong    gydthkjy              gy******    nwidghji              n*i*****    orbzsfgz              o**z****    hhgrhwth              h***h***    zzzzzozo              z****o**    iwdfrgng              i*****n*    yyyygggg              y******g

输入输出格式

输入格式:

 

第一行输入一个数 n。( 7n100 )。

第二行开始输入n×n 的字母矩阵。

 

输出格式:

 

突出显示单词的n*n 矩阵。

 

输入输出样例

输入样例#1: 
7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
输出样例#1: 
************************************************* 分析:因为是要找沿着八个方向的单词“yizhong”,我们想到了要遍历而且是深度优先,沿八个方向就想着建立方向数组,这时候注意建立方向数组的时候一定要保证方向相反的两个方向下标 之和应该为7,这样可以方便我们回溯,本题采用的是染色法,题目质量不错,可以多看看。
1 #include 
2 using namespace std; 3 int n;char a[110][110]; 4 int bj[110][110]; 5 char book[7]="izhong"; 6 int dx,dy; 7 int nexts[8][2]={
{
0,1},{
1,1},{
1,0},{
1,-1},{-1,1},{-1,0},{-1,-1},{
0,-1}};//按照相反的相加和为7来设置方向 8 void ranse(int x,int y,int step,int fang){ 9 if(step>=7) return;//如果染色完毕,则返回。 10 bj[x][y]=1;//标记,在之后的染色操作中跳过11 //cout<<233<
n||y<0||y>n) return; //防止越界 18 if(step>=6){
//如果step为6则说明都满足 19 ranse(x,y,0,7-fang);//注意此时传进去的是反方向20 return ;//注意返回 21 }22 //cout<<233<
>n;31 for(int i=1;i<=n;i++){32 for(int j=1;j<=n;j++){33 cin>>a[i][j];34 }35 }36 for(int i=1;i<=n;i++){37 for(int j=1;j<=n;j++){38 if(a[i][j]=='y'){39 for(int fang=0;fang<8;fang++){40 dfs(i,j,0,fang);41 }42 }43 }44 }45 for(int i=1;i<=n;i++){46 for(int j=1;j<=n;j++){47 if(bj[i][j]!=1) 48 a[i][j]='*';49 cout<

 

 

转载于:https://www.cnblogs.com/qingjiuling/p/9458808.html

你可能感兴趣的文章
解题:国家集训队 Middle
查看>>
响应者链
查看>>
指针从函数内部带回返回值
查看>>
在使用webView播放flash或视频文件时无法关闭声音的问题
查看>>
redhat 7 源码安装 mysql5.5.49
查看>>
CCP浅谈
查看>>
NAT虚拟网络配置
查看>>
c#部分---需要实例化的内容;
查看>>
销售类
查看>>
技术项目,问题
查看>>
线程池总结
查看>>
Learning to rank (software, datasets)
查看>>
git常见问题
查看>>
.NETFramework:template
查看>>
HM16.0之帧内模式——xCheckRDCostIntra()函数
查看>>
Jmeter性能测试 入门
查看>>
安卓动画有哪几种?他们的区别?
查看>>
Nodejs学习总结 -Express入门(一)
查看>>
web前端优化
查看>>
ssh 连接原理及ssh-keygen
查看>>