博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1101 单词方阵
阅读量:6952 次
发布时间:2019-06-27

本文共 1046 字,大约阅读时间需要 3 分钟。

#include
#include
#include
#include
#include
#include
#include
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<

转载于:https://www.cnblogs.com/dfsac/p/6819741.html

你可能感兴趣的文章
CCF201403-3 命令行选项(100分)
查看>>
精选ACM-ICPC待解问题之一
查看>>
Project Euler Problem 14 Longest Collatz sequence
查看>>
导入Excel 文件(图片和文字)NPOI+BootStrap fileinput 插件 的结合使用
查看>>
是男人就下100层【第一层】——高仿微信界面(2)
查看>>
【基础篇】EditText的一些属性设置
查看>>
【深入篇】自定义ExpandableListView,实现二级列表效果
查看>>
Unity 分场景打包
查看>>
MVVM架构~Knockoutjs系列之text,value,attr,visible,with的数据绑定
查看>>
多层架构的调用方式(方法回调)
查看>>
django数据库的增、删、改、查
查看>>
从汉诺塔游戏理解python递归函数
查看>>
立刻生效配置文件
查看>>
Java : java基础(6) 反射与枚举
查看>>
搭建kubernetes时容易遇到的问题
查看>>
TypeScript入门知识二(参数新特性)
查看>>
poj 4003十六进制转十进制
查看>>
[JSOI2008]Blue Mary开公司(李超线段树)
查看>>
语音技术带来的表单查询交互改进
查看>>
Java_1简介
查看>>