Description

  小火山最近喜欢上了围棋。
  对于围棋,其实小火山是一窍不通的。现在棋盘上,有很多小火山的棋子。 如果棋盘上有这样的一个位置, 那么这个位置也会变成小火山
的棋子;这样的位置是指小火山的棋子将该位置围起来。
  现在,小火山想知道实际棋盘是什么样子的。 你快来帮帮他吧!

Input

输入第一行是一个整数T(T <= 30), 表示一共有T组数据。
每组数据,第一行为两个整数n, m(1 <= n, m <= 25),  随后一个n*m的矩阵代表棋盘,其中"."是代表没放棋子的位置, "*"代表小火山的棋子。

Output

对于每组数据输出一个n*m的棋盘, 代表实际的棋盘。

Sample Input

2
3 3
***
*.*
***
4 4
.*..
*.*.
*.*.
.*..

Sample Output

Case 1:
***
***
***
Case 2:
.*..
***.
***.
.*.. 先记录'.'的坐标,然后对第一个'.'的坐标进行深搜,搜的'.'都标记若搜到点没有在最外边的说明这些点一定被'*'包围,全部变成'*'.
 #include<cstdio>
#include<string.h>
int dx[]={-,,,};
int dy[]={,,-,};
char map[][];
int flag[][];
int n,m,good;
struct stu
{
int x,y;
}key[];
void f(int xx,int yy)
{
int nx,ny,i,j;
if(xx== || xx == n- || yy == || yy == m-) //判断是否是外围的点
{
good=;
}
for(i = ; i < ; i++)
{
nx=xx+dx[i];
ny=yy+dy[i];
if(nx >= && ny >= && nx < n && ny < m && flag[nx][ny] == && map[nx][ny] == '.')
{
flag[nx][ny]=;
f(nx,ny);
}
}
}
int main()
{
int t,s=; scanf("%d",&t); while(t--)
{
int i,j,k; int num=; scanf("%d %d",&n,&m); memset(map,'.',sizeof(map)); for(i = ; i < n ; i++)
{
scanf("%s",map[i]);
for(j = ; j < m ; j++)
{
if(map[i][j] == '.')
{
key[++num].x=i;
key[num].y=j;
} }
}
for(i = ; i <= num ; i++)
{
memset(flag,,sizeof(flag)); //每次都要清零 good=; flag[key[i].x][key[i].y]=; if(map[key[i].x][key[i].y] == '.') f(key[i].x,key[i].y); if(good == ) //good=0说明没有最外围的点
{
for(k = ; k < n ; k++)
{
for(j = ; j < m ; j++)
{
if(flag[k][j] == )
map[k][j]='*';
}
}
}
}
printf("Case %d:\n",++s); for(i = ; i < n ; i++)
{
for(j = ; j < m ; j++)
{
printf("%c",map[i][j]);
} printf("\n");
}
}
}

 

ZZULIoj 1908 小火山的围棋梦想的更多相关文章

  1. Problem H: 小火山的围棋梦想 多校训练2(小火山专场)

    题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1908 题意:如果'.'被'*'围起来,就把'.'变为'*'. 分析:如果是'*'直接输出, ...

  2. ZZULIoj 1907 小火山的宝藏收益

    Description      进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通.   每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关.如果小火山取走了这 ...

  3. ZZULIoj 1912 小火山的爱情密码

    Description 小火山获得了一个字符串,然而大火山让小火山从里面截取一段字符串,并且让小火山截取的字符串满足一些字符达到一定数量. 小火山觉得很容易,但是他想要知道他至少得截取多长的字符串. ...

  4. ZZULIoj 1913: 小火山的计算能力

    Description 别人说小火山的计算能力不行,小火山很生气,于是他想证明自己,现在有一个表达式,他想计算出来. Input 首先是一个t(1<=20)表示测试组数.然后一个表达式,表达式长 ...

  5. zzulioj 1907小火山的宝藏交易(dfs记忆化搜索)

    #include <stdio.h> #include <algorithm> #include <string.h> #include <vector> ...

  6. zzuliOJ 1904小火山的股票交易;

    #include <stdio.h> #include <algorithm> #include <string.h> using namespace std; # ...

  7. (zzuli)1907 小火山的宝藏收益

    Description 进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通. 每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关.如果小火山取走了这个房间的宝藏, ...

  8. zzuli 1907: 小火山的宝藏收益 邻接表+DFS

    Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 113  Solved: 24 SubmitStatusWeb Board Description    ...

  9. 微信小程序,前端大梦想(六)

    微信小程序,前端大梦想(六) 微信小程序之联合百度API实现定位 定位功能对于我们都不陌生,在移动端的应用中更是不可或缺的功能,小程序中也提供了对应的API帮助我们完成定位的实现,但是目前小程序的定位 ...

随机推荐

  1. CGI、ASP、PHP、JSP、 ASP.NET网站开发语言比较

    一.主流网站开发语言的简介及优缺点. 现在主流的网站开发语言主要包括cgi.asp.php.asp.net.jsp等. HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持. (一)  ...

  2. Jmeter之Json Path Extractor 接受上一个请求的响应参数

    最近在使用Jmeter进行接口测试,被一个问题困扰了很久,就是第二个请求如何接收上一个请求响应中的参数,刚开始尝试着用网上普遍说的正则表达式,长了了N多次之,都没有达到我想要的效果,被整的够惨,于是, ...

  3. 洛谷 P4317 花神的数论题 || bzoj3209

    https://www.lydsy.com/JudgeOnline/problem.php?id=3209 https://www.luogu.org/problemnew/show/P4317 设c ...

  4. Graph HDU - 4467

    https://vjudge.net/problem/HDU-4467 大概就是,设一个块大小T 对于度数<=T的点,设为1类点,在改变颜色的时候暴力查询与其相邻点,更新答案 对于度数>T ...

  5. solr 包地址

    http://archive.apache.org/dist/lucene/solr/6.3.0/

  6. android开发学习 ------- 枚举类型在Android中的用法

    一般上为了简化代码,重用代码,设置标志位来表示不同的流程,这个标志位可以使用枚举类型来表示: 1:定义 public FbManner fbManer = FbManner.EMAIL; //给一个默 ...

  7. 初识jstl标签库

    JSTL(JSP Standard Tag Library,JSP标准标签库) 是一个不断完善的开源的 JSP 标签库,是由 apache 的 jakarta 小组来维护的,根据 JST L标签所提供 ...

  8. 利用贝塞尔曲线绘制(UIBezierPath)自定义iOS动态速度表,可以自定义刻度,刻度值,进度条样式

    GitHub的Demo下载地址 使用UIBezierPath画图步骤: 创建一个UIBezierPath对象 调用-moveToPoint:设置初始线段的起点 添加线或者曲线去定义一个或者多个子路径 ...

  9. jQuery选择器之表单元素选择器

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content ...

  10. (转)IC设计完整流程及工具

    IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计. 前端设计的主要流程: 1.规格制定 ...