luogu p1101 单词方阵
https://www.luogu.org/problem/show?pid=1101
很恶心的代码 就是八个方向都搜索
#include<bits/stdc++.h>
using namespace std;
int n;
char s[][],t[][];//一个是刚开始的 一个是结束的
char nex[] = {'y','i','z','h','o','n','g'}; int dfs(int x,int y,int k,int d)
{
if(k == && s[x][y] =='g')
{
//puts("yes");
if(d == ) {
for(int i=;i<=;i++)
t[x][y-i] = nex [-i];
}
if(d == ) {
for(int i=;i<=;i++){
t[x][y+i] = nex[-i];
}
}
if(d== ){
for(int i=;i<=;i++)
t[x-i][y] = nex[-i];
}
if(d== ){
for(int i=;i<=;i++)
t[x+i][y] = nex[-i];
}
if(d== ){
for(int i=;i<=;i++)
t[x-i][y-i] = nex[-i];
}
if(d== ){
for(int i=;i<=;i++)
t[x+i][y+i] = nex[-i];
}
if(d==){
for(int i=;i<=;i++)
t[x-i][y+i] = nex[-i];
}
if(d==){
for(int i=;i<=;i++)
t[x+i][y-i] = nex[-i];
}
return ;
}
if(d== && y+ <= n&&s[x][y+] == nex[k+] ) //往右
dfs(x,y+,k+,d); if(d== && y- >= && s[x][y-] == nex[k+]) //往左
dfs(x,y-,k+,d); if(d== && x+ <= n && s[x+][y] == nex[k+])//往下
dfs(x+,y,k+,d); if(d== && x->= && s[x-][y]==nex[k+])//往上
dfs(x-,y,k+,d); if(d== && x+<=n && y+<=n && s[x+][y+]==nex[k+])//斜下
dfs(x+,y+,k+,d); if(d== && x->= && y->= && s[x-][y-]==nex[k+])//斜上
dfs(x-,y-,k+,d); if(d== && x+<=n && y->= && s[x+][y-]==nex[k+])//左斜下
dfs(x+,y-,k+,d); if(d== && x->= && y+<=n && s[x-][y+]==nex[k+])
dfs(x-,y+,k+,d);
} int main ()
{ cin >> n;
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
cin>>s[i][j];
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
t[i][j] = '*';
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
if(s[i][j] == 'y')
{
for(int d=;d<=;d++)
{
dfs(i,j,,d);
}
} }
}
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
cout<< t[i][j];
cout<<endl;
} }
luogu p1101 单词方阵的更多相关文章
- 洛谷 P1101 单词方阵
题目链接 https://www.luogu.org/problemnew/show/P1101 题目描述 给一n×n的字母方阵,内可能蕴含多个"yizhong"单词.单词在方阵中 ...
- 洛谷——P1101 单词方阵
https://www.luogu.org/problem/show?pid=1101#sub 题目描述 给一nXn的字母方阵,内可能蕴含多个“yizhong”单词.单词在方阵中是沿着同一方向连续摆放 ...
- 洛谷P1101 单词方阵——S.B.S.
题目描述 给一nXn的字母方阵,内可能蕴含多个“yizhong”单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间[color=red ...
- P1101 单词方阵 简单dfs
题目描述 给一n \times nn×n的字母方阵,内可能蕴含多个“yizhong”单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着 88 个方向的任一方向,同一单词摆放时不再改变方向,单词与单 ...
- 洛谷P1101 单词方阵【暴力】【字符串】
题目描述 给一n×nn \times nn×n的字母方阵,内可能蕴含多个“yizhong”单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着 888 个方向的任一方向,同一单词摆放时不再改变方向, ...
- 洛谷P1101单词方阵
题目描述 给一n×n的字母方阵,内可能蕴含多个“yizhong”单词.单词在方阵中是沿着同一方向连续摆放的. 摆放可沿着 8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有 ...
- P1101 单词方阵
题目描述 给一 n \times nn×n 的字母方阵,内可能蕴含多个"yizhong"单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着 88 个方向的任一方向,同一单词摆放 ...
- P1101 单词方阵(DFS)
题目描述 给一n \times nn×n的字母方阵,内可能蕴含多个"yizhong"单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着 88个方向的任一方向,同一单词摆放时不再 ...
- 洛谷P1101 单词方阵
题目描述 给一nXn的字母方阵,内可能蕴含多个“yizhong”单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间[color=red ...
随机推荐
- session.setAttribute和session.getAttribute
网上搜了些资料 ----------------------------------------------------------------------------- B/S架构中,客户端与服务器 ...
- fabric入门
author: headsen chen date: 2018-08-12 23:13:16 1,安装 yum -y install epel-releaseyum -y install fabr ...
- 使用Eclipse(以及intellij IDEA)配合JDWP对服务器上部署的代码进行调试
今天遇到了一个问题:同样的代码,在服务器上跑的时候会报空指针异常,但是在本地是没有问题的,看服务器上打印的日志只能看到异常信息,不能准确地定位到出问题的代码,于是就搜索了一下远程调试.结果还真的可以在 ...
- 利用Linux系统生成随机密码的8种方法
Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...
- Nexus私有仓库简介
1. Nexus中的仓库 1.1 类型介绍 登陆Nexus,在左边菜单栏里选择Repositories,然后会出现右边的画面,右边上半部分是列出来的repository,黑体字是类型为grou ...
- Java虚拟机规范----JVM体系结构
一.Java平台的结构图 二.JVM与JRE.JDK关系? JVM:Java Virtual Machine(Java虚拟机),负责执行符合规范的Class文件 JRE:Java Runtime En ...
- SQL---->mySQl数据库1------数据库的增删改查备份恢复
1.在终端输入:mysql -uroot -p 然后输入密码,进入客户端 2.输入:\s 3.创建数据库 3.1创建字符集是utf-8的数据库 3.2创建带校验规则的数据库,校验规则可以在a ...
- rac库grid目录权限(6751)导致数据库宕机案例 此方法仅用于紧急救助
问题: 我的rac环境不小心通过chown命令改变了/u01目录及其子目录的权限,导致rac节点2数据库宕掉,sqlplus下打开数据库报错如下: [oracle@node2 ~]$ sqlplus ...
- Oracle等待事件之log file parallel write
log file parallel write表示等待 LGWR 向操作系统请求 I/O 开始直到完成 I/O.这种事件发生通常表示日志文件发生了I/O 竞争或者文件所在的驱动器较慢.这说明这种等待与 ...
- ruby rvm groke
https://ruby-china.org/wiki/rvm-guide http://www.cnblogs.com/peak-c/p/7338291.html https://doc.yonyo ...