https://www.luogu.org/problem/show?pid=1101#sub

题目描述

给一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 <algorithm>
#include <iostream> using namespace std; int n,mark[][];
int fx[]={,,,,,-,-,-};
int fy[]={,-,,,-,,,-};
char yz[]= {'y','i','z','h','o','n','g'},word[][]; void print(int x,int y,int drict)
{
int cnt=,xx=x,yy=y;
for(int i=;i<;i++)
{
if(word[x][y]==yz[i]) cnt++;
else break;
x+=fx[drict];y+=fy[drict];
}
if(cnt!=) return ;
for(int i=;i<;i++)
{
mark[xx][yy]=;
xx+=fx[drict];yy+=fy[drict];
}
} int main()
{
cin>>n;
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
cin>>word[i][j];
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
if(word[i][j]=='y')
for(int k=;k<;k++)
if(word[i+fx[k]][j+fy[k]]=='i') print(i,j,k);
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
if(mark[i][j]) cout<<word[i][j];
else cout<<'*';
cout<<endl;
}
return ;
}

最新文章

  1. [mysql] timestamp自动更新和初始化
  2. 十条nmap常用的扫描命令
  3. java 锁讲解
  4. ubuntu安装QQ目前最完善的方法!(亲测,成功)
  5. Oracle之初始创建scott/tiger来测试
  6. Kernel 4.9的BBR拥塞控制算法。
  7. Python type类具体的三大分类:metaclasses,classes,instance
  8. ZooKeeper快速学习
  9. Pandas常用功能总结
  10. spring-boot的spring-cache中的扩展redis缓存的ttl和key名
  11. JavaScript中作用域和作用域链的简单理解(变量提升)
  12. redis3.0.3集群搭建
  13. android中一些特殊字符的使用(如:←↑→↓等箭头符号)
  14. [APUE]进程控制(下)
  15. python group()--转载
  16. 一款由jquery实现的超炫的页面加载特效
  17. 《Algorithms算法》笔记:元素排序(4)——凸包问题
  18. AJAX 概念 优势 发展前景 工作原理 底层技术 状态 缺点 框架
  19. HBase多租户机制分析
  20. perl登录ssh

热门文章

  1. quartz 持久化 数据库表
  2. js --- 中字符串与unicode编码
  3. 【Linux下权限控制之chmod与chown命令】
  4. 菜鸟之路——Java并发(二)ThreadLocal
  5. VM虚拟机全屏显示
  6. LightOJ 1070 Algebraic Problem (推导+矩阵高速幂)
  7. [BZOJ3526][Poi2014]Card 线段树
  8. Python print 语句(Python 2 与 Python 3)
  9. jq---方法总结
  10. 扩展: 简介pyinstaller: py文件压缩成exe文件