博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #566 (Div. 2) B. Plus from Picture
阅读量:5973 次
发布时间:2019-06-19

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

链接:

题意:

You have a given picture with size w×h. Determine if the given picture has a single "+" shape or not. A "+" shape is described below:

A "+" shape has one center nonempty cell.

There should be some (at least one) consecutive non-empty cells in each direction (left, right, up, down) from the center. In other words, there should be a ray in each direction.
All other cells are empty.
Find out if the given picture has single "+" shape.

思路:

遍历每一个点,当某个点的上下左右都为时。向四个方向扩展,记录的个数。之后结束遍历。

当某个点可以形成+且的个数等于所有*的个数的时候,YES。

代码:

#include 
using namespace std;typedef long long LL;const int MAXN = 1e3 + 10;const int MOD = 1e9 + 7;int n, m, k, t;char pi[MAXN][MAXN];int main(){ scanf("%d %d", &n, &m); getchar(); int sum = 0; for (int i = 1;i <= n;i++) { for (int j = 1;j <= m;j++) { scanf("%c", &pi[i][j]); if (pi[i][j] == '*') sum++; } getchar(); } bool flag = false; for (int i = 2;i <= n-1;i++) { for (int j = 2;j <= m-1;j++) { if (pi[i][j]=='*'&&pi[i-1][j]=='*'&&pi[i][j+1]=='*'&&pi[i+1][j]=='*'&&pi[i][j-1]=='*') { flag = true; sum--; int tx, ty; tx = i-1, ty = j; while (tx >= 1 && pi[tx][ty] == '*') tx--, sum--; tx = i, ty = j+1; while (ty <= m && pi[tx][ty] == '*') ty++, sum--; tx = i+1, ty = j; while (tx <= n && pi[tx][ty] == '*') tx++, sum--; tx = i, ty = j-1; while (ty >= 1 && pi[tx][ty] == '*') ty--, sum--; } if (flag) break; } cerr << endl; if (flag) break; } if (flag && sum == 0) printf("YES\n"); else printf("NO\n"); return 0;}

转载于:https://www.cnblogs.com/YDDDD/p/11009840.html

你可能感兴趣的文章
mybatis的继承extend和导入import
查看>>
jsrender简单使用
查看>>
window mysql-bin 转化为可读模式
查看>>
redis 安装及php扩展编译安装
查看>>
MPAndroidChart---饼状图PieChart
查看>>
PHP中基于b2core框架内部的网页上Html输出生成Word的处理
查看>>
采用Servlet Listener方式运行Liquibase
查看>>
TCP-IP 学习(三) TCP
查看>>
递归和非递归
查看>>
创建本地yum仓库
查看>>
对比两个无序整形数组相似度问题算法
查看>>
浅谈web应用的负载均衡、集群、高可用(HA)解决方案
查看>>
eclipse cdt 无法正确显示代码提示 No Default Proposals
查看>>
批量有效地修改package名
查看>>
Vxlan基础理解
查看>>
MongoDB 使用mapreduce完成数据迭代
查看>>
创建自定义的 iOS Framewok
查看>>
jquery.qrcode 生成二维码
查看>>
重装系统后,让mysql再次运行
查看>>
Drupal7 db_query SQL查询运用
查看>>