网址如下:
P1101 单词方阵 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
开学哩
水了一题文章来源:https://www.toymoban.com/news/detail-826072.html
代码如下:文章来源地址https://www.toymoban.com/news/detail-826072.html
#include<iostream>
using namespace std;
const char s_yizhong[] = "yizhong";
bool judge(int x, int y, int d_x, int d_y, int m);
char c_martix[101][101];
bool is_martix[101][101];
int n;
int main(void)
{
//输入
cin >> n;
for(int i = 0; i < n; i++)
cin >> c_martix[i];
//处理
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(c_martix[i][j] == 'y')
{
judge(i, j, 1, 1, 0), judge(i, j, -1, -1, 0), judge(i, j, -1, 1, 0), judge(i, j, 1, -1, 0);
judge(i, j, 1, 0, 0), judge(i, j, 0, 1, 0), judge(i, j, -1, 0, 0), judge(i, j, 0, -1, 0);
}
//输出
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
if(is_martix[i][j]) cout << c_martix[i][j];
else cout << '*';
cout << endl;
}
return 0;
}
bool judge(int x, int y, int d_x, int d_y, int m)
{
if(x == n || y == n || x < 0 || y < 0 || c_martix[x][y] != s_yizhong[m]) return false;
if(m == 6){is_martix[x][y] = true; return true;}
else
{
bool is_tmp = judge(x + d_x, y + d_y, d_x, d_y, m + 1);
if(!is_martix[x][y]) is_martix[x][y] = is_tmp;
return is_tmp;
}
}
到了这里,关于P1101 单词方阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!