博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cf 1015 E1. Stars Drawing (Easy Edition)
阅读量:5159 次
发布时间:2019-06-13

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

暴力把能填的都填,用vis数组标记,如果出现填不了的输出-1

#include
using namespace std;char graph[110][110];int vis[110][110];int xx[10010];int yy[10010];int si[10010];int tot;int n,m;bool check(int i,int j,int k){ if(i-k<1||i+k>n||j-k<1||j+k>m) return false; return true;}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { getchar(); for(int j=1;j<=m;j++) { scanf("%c",&graph[i][j]); } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(graph[i][j]=='*') { int index=-1; for(int k=1;check(i,j,k);k++) { if(graph[i+k][j]=='*'&&graph[i-k][j]=='*'&&graph[i][j+k]=='*'&&graph[i][j-k]=='*') { index=k; vis[i][j]=vis[i+k][j]=vis[i-k][j]=vis[i][j+k]=vis[i][j-k]=1; } else break; } if(index!=-1) { xx[++tot]=i; yy[tot]=j; si[tot]=index; } } } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(graph[i][j]=='*'&&vis[i][j]==0) { printf("-1\n"); return 0; } } } printf("%d\n",tot); for(int i=1;i<=tot;i++) printf("%d %d %d\n",xx[i],yy[i],si[i]);}

 

转载于:https://www.cnblogs.com/lishengkangshidatiancai/p/10285552.html

你可能感兴趣的文章
CodeIgniter学习笔记(四)——CI超级对象中的load装载器
查看>>
.NET CLR基本术语
查看>>
ubuntu的home目录下,Desktop等目录消失不见
查看>>
建立,查询二叉树 hdu 5444
查看>>
[Spring框架]Spring 事务管理基础入门总结.
查看>>
2017.3.24上午
查看>>
Python-常用模块及简单的案列
查看>>
LeetCode 159. Longest Substring with At Most Two Distinct Characters
查看>>
LeetCode Ones and Zeroes
查看>>
基本算法概论
查看>>
jquery动态移除/增加onclick属性详解
查看>>
JavaScript---Promise
查看>>
暖暖的感动
查看>>
Java中的日期和时间
查看>>
Django基于admin的stark组件创建(一)
查看>>
PAT L2-016 愿天下有情人都是失散多年的兄妹
查看>>
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
springboot jar包运行中获取资源文件
查看>>
基于FPGA实现的高速串行交换模块实现方法研究
查看>>