CF1207B-Square Filling

题意:

两个矩阵a,b,已知矩阵b,每次能修改b矩阵中相邻的四个格(b为空矩阵),使b变为a

解法:

枚举矩阵中的1,按题意修改,并把改过的四个点都标记一下。

注意每次枚举的点一定是未被标记过的,不然连pretest都过不去。

CODE:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm> using namespace std; #define LL long long
#define N 60 int a[N][N],b[N][N],m,n; int main() {
scanf("%d%d",&n,&m);
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
scanf("%d",&a[i][j]);
}
}
int ans = 0;
for(int i = 1; i < n; i++) {
for(int j = 1; j < m; j++) {
if(a[i][j] + a[i + 1][j] + a[i][j + 1] + a[i + 1][j + 1] == 4) {
b[i][j] = b[i + 1][j] = b[i][j + 1] = b[i + 1][j + 1] = 1;
ans++;
}
}
}
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= m; j++) {
if(a[i][j] ^ b[i][j]) {
puts("-1");
return 0;
}
} }
printf("%d \n",ans);
for(int i = 1; i < n; i++) {
for(int j = 1; j < m; j++) {
if(a[i][j] + a[i + 1][j] + a[i][j + 1] + a[i + 1][j + 1] == 4) {
printf("%d %d \n",i,j);
}
}
}
//system("pause");
return 0;
}

CF1207B的更多相关文章

随机推荐

  1. 怎样在浏览器端增加一条Cookie

    可以使用 document.cookie, 这个属性可读可写, 读时是读取所有没有设置HttpOnly的cookie作为一个字符串返回, 写时是将一个cookie写入到document.cookie中 ...

  2. 转载博客(Django2.0集成xadmin管理后台遇到的错误)

    转载博客地址:https://blog.csdn.net/yuezhuo_752/article/details/87916995 django默认是有一个admin的后台管理模块,但是丑,功能也不齐 ...

  3. Sql语句知识大全

    1.经典SQL语句大全(绝对的经典) 2. 3. 4.一.基础 1.1.说明:创建数据库 2.CREATE DATABASE database-name 3.2.说明:删除数据库 4.drop dat ...

  4. JSON在JS中的应用

    一. JSON在JS中的应用: 首先解释下JSON对象与普通js对象字面量定义时格式的区别: Js对象字面量定义格式: var person = { name:"Wede", ag ...

  5. 03 - Mongodb数据查询 | Mongodb

    1.基本查询 ①方法find():查询 db.集合名称.find({条件文档}) ②方法findOne():查询,只返回第一个 db.集合名称.findOne({条件文档}) ③方法pretty(): ...

  6. 用Leangoo泳道完美实现Scrum任务看板

    转自:https://www.leangoo.com/9568.html 在敏捷开发的实践当中,通过可视化的任务看板来实现团队协同和透明化管理是必不可少的一个实践.通过可视化的任务看板我们可以达到如下 ...

  7. 6.单表的CRUD操作

    1.插入后用新id初始化被插入对象 <insert id="insertStudentCatchId"> insert into student (age,name,s ...

  8. 04_Hive的基本命令

    1.Hive基本操作: 1.1.Hive的建表语句: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [ ...

  9. CF487E Tourists[圆方树+树剖(线段树套set)]

    做这题的时候有点怂..基本已经想到正解了..结果感觉做法有点假,还是看了正解题解.. 首先提到简单路径上经过的点,就想到了一个关于点双的结论:两点间简单路径上所有可能经过的点的并等于路径上所有点所在点 ...

  10. WPF DevExpress ChartControl使用之XYDiagram

    WPF使用Dev和WinForm有许多不同,相对而言,WPF要更简单和炫酷一点,我只做了一点基本的功能,没有仔细的研究,这里只介绍一下WPF Dev ChartControl绘制XYDiagram的基 ...