Codeforces Round #514 (Div. 2) B - Forgery
这个题我一开始没思路,最后也没思路
2个小时一直没思路
本来还想解释题意的,写了半天发现解释的不是很清楚,你还是google翻译一下吧
这个题解法是这样的:
首先,给你图案里面有很多的点,每个点的周围8个点都不可能在上面落笔,因为你一旦在周围8个点落笔,必定会覆盖掉这个点,
其次,每一个有#的地方,他周围8个点一定有一个地方能够落笔
所以我们把所有不可能落笔的点都记录下来,再判断每一个#的地方,假设周围有能落笔的地方,说明可以画
只要找到一个#周围没有可以落笔的地方,输出no
( 笔不能超过纸张,也就是说落笔范围在(1,1)(n-2,m-2)这个矩形里面)
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e3+;
char arr[maxn][maxn];
bool vis[maxn][maxn];
int n,m;
void painw(int x,int y)
{
vis[x+][y] = vis[x+][y-] = vis[x+][y+] = vis[x-][y] = vis[x-][y-] = vis[x-][y+] = false;
vis[x][y+] = vis[x][y-] = false;
}
bool pan(int x,int y)
{
bool f = false;
for(int i = -;i <= ;++i)
{
for(int j = -; j <= ; ++j)
{
//cout << x+i << " " << y+j << endl;
if(x+i <= || x+i >= n || y+j <= || y+j >= m)
continue;
if(i == && j == )
continue;
if(vis[x+i][y+j] == true)
f = true;
}
}
//cout << f << endl;
return f;
}
int main()
{
scanf("%d%d",&n,&m);
int cnt = ;
memset(vis,true,sizeof(vis));
for(int i = ; i <= n; ++i)
{
getchar();
for(int j = ; j <= m; ++j)
{
scanf("%c",arr[i]+j);
if(arr[i][j] == '.')
painw(i,j);
}
}
for(int i = ; i <= m+; ++i)
vis[][i] = vis[n+][i] = false;
for(int i = ; i <= n+; ++i)
vis[i][] = vis[i][m+] = false; /*for(int i = 0; i <=n+1; ++i)
{
for(int j = 0; j <= m+1; ++j)
printf("%d",vis[i][j]);
printf("\n");
}*/ for(int i = ; i <= n; ++i)
{
for(int j = ; j <= m; ++j)
{
if(arr[i][j] == '#' && pan(i,j) == false)
{
printf("NO\n");
return ;
}
}
}
printf("YES\n");
return ;
}
Codeforces Round #514 (Div. 2) B - Forgery的更多相关文章
- Codeforces Round #514 (Div. 2)
目录 Codeforces 1059 A.Cashier B.Forgery C.Sequence Transformation D.Nature Reserve(二分) E.Split the Tr ...
- Codeforces Round #514 (Div. 2) D. Nature Reserve
http://codeforces.com/contest/1059/problem/D 最大值: 最左下方和最右下方分别有一个点 r^2 - (r-1)^2 = (10^7)^2 maxr<0 ...
- Codeforces Round #514 (Div. 2) E. Split the Tree(倍增+贪心)
https://codeforces.com/contest/1059/problem/E 题意 给出一棵树,每个点都有一个权值,要求你找出最少条链,保证每个点都属于一条链,而且每条链不超过L个点 和 ...
- Codeforces Round #514 (Div. 2):D. Nature Reserve(二分+数学)
D. Nature Reserve 题目链接:https://codeforces.com/contest/1059/problem/D 题意: 在二维坐标平面上给出n个数的点,现在要求一个圆,能够容 ...
- Codeforces Round #514 (Div. 2) C. Sequence Transformation(递归)
C. Sequence Transformation 题目链接:https://codeforces.com/contest/1059/problem/C 题意: 现在有1~n共n个数,然后执行下面操 ...
- Codeforces Round #514 (Div. 2) C. Sequence Transformation 思维构造
题意 给出一个1-n的集合 gcd 集合里面的所有数 得到的 一个 数 然后自己选择删去一个数 要使得到的数 构成的数列 的字典序最大 思路: gcd所有数 那gcd得到的数肯定要小于数 ...
- Codeforces Round #514 (Div. 2) C. Sequence Transformation
题目大意:给你一个n 从1,2,3......n这个序列中 依次进行以下操作:1 .求所有数的最大公因数,放入a序列里面 2 .任意删去一个元素 一直到序列为空 根据删除元素的不同,导致序列a的字典序 ...
- Codeforces Round#514 Div.2 翻车记
A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
随机推荐
- python初接触
浑浑噩噩的过了3年多大学生涯,就借此开始下定决心好好的学好一门技术,为心中那个游戏梦而努力. 正式开课的第一天(也算不的吧,毕竟昨天老师也和我们讲了python课程的大纲内容).自我总结下今天的内容吧 ...
- 【JVM底层策略 一】GC roots如何判断对象不可达
查找内存中不再使用的对象 引用计数法 引用计数法就是如果一个对象没有被任何引用指向,则可视之为垃圾.这种方法的缺点就是不能检测到环的存在. 2.根搜索算法 根搜索算法的基本思路就是通过一系列名为”GC ...
- leetcode2
/** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNo ...
- Mysql 日期加减
mysql表中有一些字段是显示日期的.因为各种需要,需要将它时间往后调整1年. mysql 日期增加一年的更新语句更新的语句如下: UPDATE table SET date = DATE_A ...
- [原]vue中各模块的实际引用
检查发现: 1.vue实际引用文件配置位置 alias: { 'vue$': 'vue/dist/vue.esm.js', 此位置替换了vue包内的package.json中定义的位置 } 2.vue ...
- 38.Spring-spring和hibernate整合.md
目录 1.定义各种类对象 2.创建Hibernate配置文件 3.配置applicationContext.xml 4.注意事项 1.定义各种类对象 package per.liyue.sh.demo ...
- SpringJDBC :jdbcTemplate在连接是出现 org/springframeworkbc/core/JdbcTemplate : Unsupported major.minor version 52.0 异常解决
原因是这个在jdk9版本才能使用,需更新jdk版本. 更新jdk9之后在idear的配置: 第一步:File---->Project Structure---->Project 第二步: ...
- 【iOS】Objective-C 字符串操作
字符串中查找指定字符方法 //开头 -(BOOL) hasPrefix:(NSString *)aString; //结尾 -(BOOL) hasSuffix:(NSString *)aString; ...
- 获取MessageBox按钮本地字符串(OK、Cancel、Yes、No等)
问题仍然由定制MessageBox引发. 定制MessageBox,虽加入自定义些东西,但仍然希望,最大限度接近系统原生框.碰到的问题,就是其钮文本. 即如MessageBox.Show()之Mess ...
- php中对象赋值问题
今天遇到一个问题, 一开始拼接的SQL语句,然后想多次使用时发现会被重置,然后想到给重新赋值一次,但是发现这样赋值会出问题,百思不得其解,最后经过搜索,发现PHP中对象赋值给一个变量之类的赋值的其实是 ...