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

题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1908

题意:如果‘.‘被‘*‘围起来,就把‘.‘变为‘*‘。

分析:如果是‘*‘直接输出,如果是‘.‘ 则要对其搜索

如果四个方向都是封闭的,则可以改变。即w[i][j]=4;

如果查询的是‘*‘或者查询的是已被查询过的‘.‘  ,则记录上;

如果查询的是‘.‘而且没有查询标记过,则进行查询;

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 #include<cstring>
 5 #include<queue>
 6 #include<stdlib.h>
 7 #include<map>
 8 #include<cmath>
 9
10 using namespace std;
11
12 #define N 50
13 #define INF 0x3f3f3f3f
14
15 char s[N][N];
16 int w[N][N],b[N][N],n,m;
17 int dir[4][2]= { {1,0},{0,1},{-1,0},{0,-1} };
18
19 int q(int x,int y)
20 {
21     int i;
22
23     b[x][y]=1;
24     for(i=0; i<4; i++)
25     {
26         int xx=x+dir[i][0];
27         int yy=y+dir[i][1];
28         if(xx>=0&&xx<n&&yy>=0&&yy<m&&(s[xx][yy]==‘*‘||b[xx][yy]))
29             w[x][y]++;
30         if(xx>=0&&xx<n&&yy>=0&&yy<m&&s[xx][yy]==‘.‘&&!b[xx][yy])
31         {
32             if(q(xx,yy)==1)
33                 w[x][y]++;
34         }
35     }
36
37     if(w[x][y]==4)
38         return 1;
39     return 0;
40 }
41
42 int main()
43 {
44     int T,k=1,i,j;
45
46     scanf("%d", &T);
47
48     while(T--)
49     {
50         memset(w,0,sizeof(w));
51
52         scanf("%d %d", &n,&m);
53
54         for(i=0; i<n; i++)
55             scanf("%s", s[i]);
56
57         printf("Case %d:\n",k++);
58
59         for(i=0; i<n; i++)
60         {
61             for(j=0; j<m; j++)
62             {
63                 if(s[i][j]==‘.‘)
64                 {
65                     memset(w,0,sizeof(w));
66                     memset(b,0,sizeof(b));
67
68                     if(q(i,j)==1)
69                         s[i][j]=‘*‘;
70                 }
71
72                 printf("%c", s[i][j]);
73             }
74             printf("\n");
75         }
76     }
77     return 0;
78 }
时间: 2024-10-10 23:47:00

Problem H: 小火山的围棋梦想 多校训练2(小火山专场)的相关文章

小火山的宝藏收益 多校训练2(小火山专场) poj(邻接表+DFS)

http://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1907 Description 进去宝藏后, 小火山发现宝藏有N个房间,且这n个房间通过N-1道门联通. 每一个房间都有一个价值为Ai的宝藏, 但是每一个房间也都存在一个机关.如果小火山取走了这个房间的宝藏,那么这个房间通往其他房间的门就永远打不开了,也就是说后面的宝藏小火山是得不到了(进入这个房间的门是不会关闭的,小火山还是可以回去的):如果小火山不取这个宝藏,而是去打开通往另一房间的门,那么这个

ZZULIoj 1908 小火山的围棋梦想

Description 小火山最近喜欢上了围棋. 对于围棋,其实小火山是一窍不通的.现在棋盘上,有很多小火山的棋子. 如果棋盘上有这样的一个位置, 那么这个位置也会变成小火山 的棋子:这样的位置是指小火山的棋子将该位置围起来. 现在,小火山想知道实际棋盘是什么样子的. 你快来帮帮他吧! Input 输入第一行是一个整数T(T <= 30), 表示一共有T组数据. 每组数据,第一行为两个整数n, m(1 <= n, m <= 25),  随后一个n*m的矩阵代表棋盘,其中".&q

ZCMU Problem H: Crixalis&#39;s Equipment(贪心,排序)

#include<stdio.h> #include<stdlib.h> struct node { int a,b; }c[1002]; int cmpxy(const struct node *c,const struct node *d) { return (d->b - d->a) - (c->b - c->a); } int main() { int n,i,v,t,flag; // freopen("a.txt","

HDU 6326 Problem H Monster Hunter

\(\mathtt{Problem H}\) \(\mathtt{Monster}\) \(\mathtt{Hunter}\) \(\mathcal{Description}\) 题目 给定一棵 \(n\)\((n \leq 10^6)\) 个点的树,除 \(1\) 号结点外每个结点都有一只怪兽,打败他需要先消耗 \(a_i\) 点 \(HP\),击败后可以获得 \(b_i\) 点 \(HP\),求打败所有怪兽需要的最小 \(HP\). \(\mathcal{Solution}\) 先不考虑父亲

Problem H. The Fence

/** 题目:Problem H. The Fence 链接:https://vjudge.net/problem/Gym-101090H 题意:给定一个字符串,只有0或者1: 问:假如两个不同的1之间的0,1数量是k的倍数(包括0倍)则输出这两个1的位置: 思路:%k:直到遇到两个相同的余数,说明之间的01数量为k的倍数. */ #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1

Codeforces Gym 100610 Problem H. Horrible Truth 瞎搞

Problem H. Horrible Truth Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100610 Description In a Famous TV Show “Find Out” there are n characters and only one Horrible Truth. To make the series breathtaking all way long, the sc

微信小程序,前端大梦想(一)

小程序框架MINA简介 微信公众平台"小程序"具有不是APP胜似APP的效果,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不用关心是否安装太多应用的问题.应用将无处不在,随时可用,但又无需安装卸载. 去年9月22日,微信公众平台向外发出200个"小程序"内测邀请函.该"小程序"即去年年初腾讯曾对外介绍的微信"

Moscow Subregional 2010 Problem H. Hometask 转化、素数筛选

ACM ICPC 2010-2011 NEERC Moscow Subregional Contest Moscow, October 24, 2010 Problem H. Hometask Time limit: 1 second Memory limit: 256 megabytes Kolya is still trying to pass a test on Numbers Theory. The lecturer is so desperate about Kolya's knowl

Codeforces Gym 100342H Problem H. Hard Test 构造题,卡迪杰斯特拉

Problem H. Hard TestTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100342/attachments Description Andrew is having a hard time preparing his 239-th contest for Petrozavodsk. This time the solution to the problem is based on Di