51nod1448(yy)
题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1448
题意: 中文题诶~ 不过要仔细看题, 原来颜色是被覆盖而非变成原来相反的颜色~
思路: 首先找到一个 k * k 的纯色矩阵 s1, 不需要管这个纯色矩阵是不是白色, 因为如果不是白色的话用白色印章将其覆盖一次即可. 然后再取 s1 中任意一点为左上角顶点, 引出一个 k * k 的矩阵 s2, 若 s2 中除了与 s1 公共部分外是纯色的, 那么显然可以将 s2 也覆盖成白色的. 接着从 s2 中任取一点为左上角顶点, 再引出一个 k * k 的矩阵 s3, 若其除了与前面的 s1, s2 公共部分外为纯色, 显然也是可以将 s3 覆盖成白色的...后面的依次类推即可.
最后再检查一遍是否还存在没被标记的 B, 若存在则输出 Impossible, 反之输出 Possible.
代码:
- #include <iostream>
- #include <string.h>
- using namespace std;
- const int MAXN = ;
- int vis[MAXN][MAXN];
- string s[MAXN];
- int main(void){
- int t;
- cin >> t;
- while(t--){
- int n, k;
- memset(vis, , sizeof(vis));
- cin >> n >> k;
- for(int i = ; i < n; i++){
- cin >> s[i];
- }
- bool flag = true;
- while(flag){
- flag = false;
- for(int i = ; i + k < n + ; i++){
- for(int j = ; j + k < n + ; j++){
- int cnt1 = , cnt2 = , cnt = ;
- for(int l = ; l < k; l++){
- for(int h = ; h < k; h++){
- int x = i + l;
- int y = j + h;
- if(vis[x][y]) continue;
- cnt = ;
- if(s[x][y] == 'B') cnt1++;
- else cnt2++;
- }
- }
- if(cnt && (cnt1 == || cnt2 == )){
- flag = true;
- for(int l = ; l < k; l++){
- for(int h = ; h < k; h++){
- int x = i + l;
- int y = j + h;
- vis[x][y] = ;
- }
- }
- }
- }
- }
- }
- flag = true;
- for(int i = ; i < n; i++){
- for(int j = ; j < n; j++){
- if(!vis[i][j] && s[i][j] == 'B') flag = false;
- }
- }
- if(flag) cout << "Possible" << endl;
- else cout << "Impossible" << endl;
- }
- return ;
- }
51nod1448(yy)的更多相关文章
- 【需求设计1】VIP积分系统无聊YY
RT,想到什么就写什么呗,这是最简单的方式,顺便给自己做一个记录,反正自己记忆力也不太好.本文是仿陆金所的积分系统,自己YY的一套东西. 首先我想做一个VIP兑换投资卷的功能: 我们先来确定一些我知道 ...
- YY一下十年后的自己
ps:其实这篇文章的评论比文章本身更有意思,欢迎关注. 每到年底总是我最焦虑的时候,年龄越大情况越明显. 可能越长大越是对 时光的流逝 更有感触,有感触之后就会胡思乱想.所以随手开始写下这篇文章. 人 ...
- BZOJ 2820: YY的GCD [莫比乌斯反演]【学习笔记】
2820: YY的GCD Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1624 Solved: 853[Submit][Status][Discu ...
- YY一下淘宝商品模型
淘宝的电商产品种类非常丰富,必然得力于其商品模型的高度通用性和扩展性. 下面我将亲自操作淘宝商品的发布过程,结合网上其他博客对淘宝网商品库的分析,简单谈谈我的理解. 注:下面不特殊说明,各个表除主键外 ...
- 我YY的一个移动应用运营模式
尽管自己也还是刚刚毕业不久的前端新人,但网上也不乏一些案例告诉我们有志不在年高,很多优秀的同龄人已经有了不错的成就,所以在切页面写onclick之余也在进行一些思考,前端程序员的出路到底在哪里? 一. ...
- YY游戏私有云平台实践 (转自InfoQ )
作者 风河 发布于 2016年1月13日 | 讨论 编者按:YY游戏的页游早在2013年就在云平台上运行,其Cloud 1.0已经支撑几十万的同时在线用户.日前,YY游戏云平台进行了Cloud 2 ...
- 51nod 1422(强行YY)
1422 沙拉酱前缀 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 沙拉酱非常喜欢数字序列.这正是他要弄一个关于 ...
- js时间格式化(yy年MM月dd日 hh:mm)
//时间格式化 Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, / ...
- G - YY's new problem(HUSH算法,目前还不懂什么是HUSH算法)
Time Limit:4000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Pra ...
随机推荐
- el表达式对js方法的传值
我常用于在jsp页面遍历集合和分页中的页面跳转事件. jsp: <!-- 引入jstl --> <%@ taglib prefix="c" uri="h ...
- 开发环境无错,部署至测试环境报错“NoSuchMethodError”OR"NoSuchClassError"
背景: 实现一个简单的功能,需要用到jedis的jar包连接Redis.在之前便已经有使用jedis,它的版本比较旧,是2.1的.而新实现的功能,在编码的时候使用的是2.8的.在开发环境完成单元测试后 ...
- C++11 auto和decltype推导规则
VS2015下测试: decltype: class Foo {}; int &func_int_r(void) { int i = 0; return i; }; int && ...
- Identity4 Clientcredentials 自定义客户端授权验证
看了许多教程 ,大多数都是提前定义好客户端,但是这样有个弊端,我们并不知道以后会有多少客户端.有可能从数据库读取数据,也有可能通过json文件获取,总之 各种方式. 然后 网上大多数教程都是提前定义好 ...
- 火星坐标、百度坐标、WGS84坐标转换代码(JS)
JS版本源码 /** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09).国测局坐标(火星坐标,GCJ02).和WGS84坐标系之间的转换 */ / ...
- 2015.7.17 case when then else end用法Oralcle与SQLserver一致
SELECT CASE airway_point_type_id WHEN 1 THEN 'VOR' WHEN 2 THEN 'VOR/DME' WHEN 3 THEN 'NDB' WHEN 10 T ...
- 10-23C#基础--特殊集合(stack、queue、hashtable)
特殊集合一:stack集合--堆集合 1.定义:堆集合是集合中一种特殊的类,在Stack中也有许多方法和属性,下面一一列举: 命名格式:Stack ss=new Stack(); 2.如何添加数据:p ...
- oracle错误-ORA-12519, TNS:no appropriate service handler found
转自:https://blog.csdn.net/u013147600/article/details/48380841
- [poj1410]Intersection
题目大意:求线段与实心矩形是否相交. 解题关键:转化为线段与线段相交的判断. #include<cstdio> #include<cstring> #include<al ...
- WCF客户端调用并行最大同时只支持两个请求
做项目的时候发现 频繁调用WCF服务时 明明一次性发起了几十个请求 而在服务端记录的日志却显示出现了排队的迹象 并且都是最大并发数为2 在网上狂搜 大家给出来的解决方法都是增加web.config里面 ...