Codeforces Round #423 B. Black Square
来源:互联网 发布:mysql date转字符串 编辑:程序博客网 时间:2024/05/17 20:00
Problem
有
限制条件
解法
由于统计所有黑格能否构成正方形。考虑枚举每格的颜色,找到最左、最右、最上、最下的黑格位置,其构成的矩形必然要被结果正方形包含。则最小构成即为 max(width, height) 作为正方形的边长。
HINT: 需考虑正方形边长应不大于方格纸大小。
minAns = 总面积减去原有黑格数
代码
#include<bits/stdc++.h>using namespace std;int main(){ char mp[110][110]; int n, m; scanf("%d %d", &n, &m); for(int i=1;i<=n;i++) scanf(" %s", mp[i]+1); int l = m+1, r = 0, d = 0, u = n+1, ori = 0; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(mp[i][j] == 'B') { ori++; l = min(l, j); r = max(r, j); u = min(u, i); d = max(d, i); } if(ori == 0) printf("1\n"); else { int h = (d-u+1), w = (r-l+1); h = max(h, w), w = max(h, w); if(h > m || w > n) printf("-1\n"); else printf("%d\n", h*w-ori); }}
阅读全文
0 0
- Codeforces Round #423 B. Black Square
- Codeforces Round #423 B. Black Square
- Codeforces Round #423 (Div. 2) B. Black Square(思路)
- Codeforces Round #423 (Div. 2) B. Black Square
- Codeforces #423-Div. 2-B. Black Square
- Codeforces Round #423 (Div. 2) B Black Square 黑色正方形 思维题
- CodeForces 828B Black Square
- Codeforces 828 B Black Square
- 423B. Black Square
- CodeFroces Round 423 B. Black Square(暴力枚举)
- Codeforces Round #247 (Div. 2)a.Black Square,b.Shower Line,c.k-Tree前三题
- codeforces 828B. Black Square(水题)
- Codeforces #828B: Black Square 题解
- Codeforces Round #122 (Div. 2) B. Square
- Codeforces Round #247 (Div. 2) - A. Black Square
- Codeforces Round #247(Div. 2) A. Black Square 水题
- Codeforces828 B. Black Square
- B. Black Square
- 如何允许匿名用户访问某些给定页面的MVC?
- Sql Server 数据库如何进行跨网远程连接访问
- Java_基础—对象数组的概述和使用
- 简单shell命令行解释器 (一)
- ACCESS数据库操作
- Codeforces Round #423 B. Black Square
- C语言字符串二种方式定义
- OnGUI 显示框
- 纯js搭配anjularjs完成前台分页展示
- OpenJudge 2.5-2988 计算字符串距离【最短编辑距离】
- ReportViewer + RDLC 实现排版分页
- 利用正则表达对IP进行排序
- C语言malloc()函数:动态分配内存空间
- 函数指针和指针函数