洛谷——P1101 单词方阵

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了洛谷——P1101 单词方阵相关的知识,希望对你有一定的参考价值。

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:
*******
*******
*******
*******
*******
*******
*******


没什么好说的~~~洛谷字符串有毒~
 1 #include <algorithm>
 2 #include <iostream>
 3 
 4 using namespace std;
 5 
 6 int n,mark[119][119];
 7 int fx[8]={0,0,1,1,1,-1,-1,-1};
 8 int fy[8]={1,-1,0,1,-1,0,1,-1};
 9 char yz[7]= {y,i,z,h,o,n,g},word[119][119];
10 
11 void print(int x,int y,int drict)
12 {
13     int cnt=0,xx=x,yy=y;
14     for(int i=0;i<7;i++)
15     {
16         if(word[x][y]==yz[i]) cnt++;
17         else break;
18         x+=fx[drict];y+=fy[drict];
19     }
20     if(cnt!=7) return ;
21     for(int i=0;i<7;i++)
22     {
23         mark[xx][yy]=1;
24         xx+=fx[drict];yy+=fy[drict];
25     }
26 }
27 
28 int main()
29 {
30     cin>>n;
31     for(int i=1;i<=n;i++)
32         for(int j=1;j<=n;j++)
33             cin>>word[i][j];
34     for(int i=1;i<=n;i++)
35       for(int j=1;j<=n;j++)
36         if(word[i][j]==y)
37         for(int k=0;k<8;k++)
38          if(word[i+fx[k]][j+fy[k]]==i) print(i,j,k);
39     for(int i=1;i<=n;i++)
40     {
41         for(int j=1;j<=n;j++)
42             if(mark[i][j]) cout<<word[i][j];
43             else cout<<*;
44         cout<<endl;
45     }
46     return 0;
47 }

 

以上是关于洛谷——P1101 单词方阵的主要内容,如果未能解决你的问题,请参考以下文章

洛谷——P1101 单词方阵

洛谷 P1101 单词方阵

落谷P1101 单词方阵 //参考代码

P1101 单词方阵

P1101 单词方阵

P1101 单词方阵