P1101 单词方阵
来源:互联网 发布:淘宝可以删除差评 编辑:程序博客网 时间:2024/05/15 19:13
https://www.luogu.org/problem/show?pid=1101#sub
#include<iostream>#include<cstring>#include<cstdio>#include<string>#include<algorithm>#include<queue>#include<vector>using namespace std;int dx[]={0,1,1,1,0,0,-1,-1,-1},dy[]={0,1,0,-1,-1,1,1,-1,0};int n;char a[200][200],table[]={'0','y','i','z','h','o','n','g'};bool color[200][200];bool judge(int x,int y){ if(x<=n&&x>=1&&y>=1&&y<=n) return 1; return 0;}void dfs(int x,int y,int to,int k){ if(k==7) { color[x][y]=true; for(int i=1;i<7;i++) { color[x-i*dx[to]][y-i*dy[to]]=true; } } int xs=x+dx[to],ys=y+dy[to]; if(judge(xs,ys)) if(a[xs][ys]==table[k+1]) { dfs(xs,ys,to,k+1); }}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { cin>>a[i][j]; } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) { if(a[i][j]=='y') for(int o=1;o<=8;o++) { int xs=i+dx[o],ys=j+dy[o]; if(judge(xs,ys)) if(a[xs][ys]=='i') { dfs(xs,ys,o,2); } } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(!color[i][j]) cout<<"*"; else cout<<a[i][j]; } puts(""); } return 0;}
1 0
- 洛谷P1101 单词方阵
- P1101 单词方阵
- C++ P1101 单词方阵
- #洛谷 P1101单词方阵
- P1101 单词方阵
- 洛谷P1101 单词方阵
- 洛谷 P1101 单词方阵
- 洛谷 P1101 单词方阵
- P1101 单词方阵
- P1101 单词方阵
- 洛谷 P1101 单词方阵
- P1101 单词方阵
- P1101 单词方阵
- |洛谷|DFS|P1101 单词方阵
- 【p1101-单词方阵】解题记录
- 【搜索】洛谷 P1101 单词方阵
- luogu P1101 单词方阵【dfs】
- 洛谷——P1101 单词方阵
- Java中this和super关键字深究
- 爬虫工具之就业调查
- 字节序
- Java内存模型与volatile关键字
- kuangbin带你飞一(搜索)E
- P1101 单词方阵
- 真机调试遇见"The network connection was lost."
- ubuntu 下设置路径PATH变量
- 了解CSS发展史和工作原理
- Nim游戏博弈
- 自己实现Struts2(三)实现ActionContext
- eMMC之分区管理、总线协议和工作模式
- 菜鸟的Linux学习史——第六章 再谈man命令
- Linux常用命令——目录处理命令