专栏首页Zaqdt_ACMCodeforces Round #514 (Div. 2) B. Forgery(思维+暴力)

Codeforces Round #514 (Div. 2) B. Forgery(思维+暴力)

题目链接:http://codeforces.com/contest/1059/problem/B

       题意是有一个n*m大的图形,现在有一张空白的纸(全是'.'),还有一个3*3的印章(除了中间的是'.'以外都是'#'),问能不能用印章把空白的纸打成输入的图形。

        思路就是暴力,一个一个去添加就好了,直接看代码吧。


AC代码:

#include <bits/stdc++.h>
#define maxn 1005
using namespace std;
char a[maxn][maxn],b[maxn][maxn];
int n,m;

void Fun(int x,int y)
{
	if(a[x+1][y] == '#' && a[x+2][y] == '#' && a[x][y+1] == '#' && a[x][y+2] == '#' && a[x+1][y+2] == '#' && a[x+2][y+2] == '#' && a[x+2][y+1] == '#'){
		b[x][y] = '#';
		b[x+1][y] = '#';
		b[x+2][y] = '#';
		b[x][y+1] = '#';
		b[x][y+2] = '#';
		b[x+1][y+2] = '#';
		b[x+2][y+2] = '#';
		b[x+2][y+1] = '#';
	}
}

int main()
{
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++)scanf("%s",a[i]);
	memset(b,'.',sizeof(b));
	
	for(int i=0;i<n-2;i++){
		for(int j=0;j<m-2;j++){
			if(a[i][j] == '#'){
				Fun(i, j);
			}
		}
	}
	bool flag = false;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			if(a[i][j] != b[i][j]){
				flag = true;
				break;
			}
		}
	}
	if(flag == false){
		puts("YES");
	}
	else{
		puts("NO");
	}
	return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HDU 4185 Oil Skimming(思维+二分图最大匹配数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4185

    Ch_Zaqdt
  • HDU 3498 whosyourdaddy(DLX重复覆盖)

    //acm.hdu.edu.cn/showproblem.php?pid=3498

    Ch_Zaqdt
  • Codeforces Global Round 2 C. Ramesses and Corner Inversion(思维)

    版权声明:欢迎转载,若转载,请标明出处,如有错误,请指点,也欢迎大佬们给出优化方法 https://blog.csdn.net/Charles_Zaqd...

    Ch_Zaqdt
  • POJ 3264 Balanced Lineup (RMQ模板题)

    用户2965768
  • Hebuter Daily Training 201810

    有三个人Y,W,D.每个人都很想去一个地方.但是不好请假.所以能去一个 地方就很好了.Y想出来一个方法.每个人掷骰子.点数最多的赢.就可以去 他想去的地方.Y,...

    xiaohejun
  • hdu------1281 棋盘游戏(最小覆盖点)

    棋盘游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java...

    Gxjun
  • cf1000F. One Occurrence(线段树 set)

    首先把询问离线,预处理每个数的\(pre, nxt\),同时线段树维护\(pre\)(下标是\(pre\),值是\(i\)),同时维护一下最大值

    attack
  • 395. Longest Substring with At Least K Repeating Characters

    这是一个经典的分治法解决的问题,关键在于我们如何将这个问题分解为更小的子问题。反过来想,这个子字符串一定不包含什么元素呢?当一个元素出现的总次数小于k,那么该元...

    眯眯眼的猫头鹰
  • LeetCode 75. Sort Colors题目分析

    给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。 我们可以使用整数 0,1 和 2 分别代...

    desperate633
  • android 自定义控件那些事

    概述 在android应用开发过程中,固定的一些控件和属性可能满足不了开发的需求,所以在一些特殊情况下,我们需要自定义控件与属性。而自定义控件通常有两种:自定义...

    xiangzhihong

扫码关注云+社区

领取腾讯云代金券