Codeforces 828 B Black Square
来源:互联网 发布:空间数据的逻辑运算 编辑:程序博客网 时间:2024/05/17 12:22
题目地址:http://codeforces.com/contest/828/problem/B
题目意思:给你一个广场,上面有黑色和白色的瓷砖,你可以把白色的瓷砖换成黑色的瓷砖,求最少要多少块黑色瓷砖来换才能构成一个黑色的正方形。
思路:求出最小的正方形能包裹住所有的黑色方块,如果边长大于原本广场的最小的边输出-1,要不然输出这个正方形所需的瓷砖总数-已有黑色瓷砖数。
#include <iostream>#include <cstring>#include <string>#include <queue>#include <vector>#include <map>#include <set>#include <stack>#include <cmath>#include <cstdio>#include <algorithm>#define LL long long #define N 110#define M 50010#define inf 0x3f3f3f3fusing namespace std;const LL mod = 1e9 + 7;const double eps = 1e-9;char mapp[N][N];int main() { cin.sync_with_stdio(false); int n, m; int ans, cnt; int x1, x2, y1, y2; while (cin >> n >> m) { ans = 0; x1 = inf, x2 = -1, y1 = inf, y2 = -1; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> mapp[i][j]; if (mapp[i][j] == 'B') { x1 = min(x1, i); y1 = min(y1, j); x2 = max(x2, i); y2 = max(y2, j); ans++; } } } if (x1 == inf) { cout << 1 << endl; } else { cnt = max(x2 - x1, y2 - y1) + 1; if (cnt > n || cnt > m) { cout << -1 << endl; continue; } cout << cnt*cnt - ans << endl; } } return 0;}
阅读全文
0 0
- CodeForces 828B Black Square
- Codeforces 828 B Black Square
- codeforces 828B. Black Square(水题)
- Codeforces #828B: Black Square 题解
- Codeforces 828B Black Square【暴力枚举+二维前缀和】
- Codeforces #423-Div. 2-B. Black Square
- Codeforces Round #423 B. Black Square
- Codeforces Round #423 B. Black Square
- Codeforces828 B. Black Square
- 423B. Black Square
- B. Black Square
- Codeforces Round #423 (Div. 2) B. Black Square(思路)
- Codeforces Round #423 (Div. 2) B. Black Square
- codeforces 431A - Black Square
- Codeforces 431A Black Square
- codeforces 431A Black Square
- Codeforces Round #247 (Div. 2)a.Black Square,b.Shower Line,c.k-Tree前三题
- Codeforces Round #423 (Div. 2) B Black Square 黑色正方形 思维题
- NYOJ士兵杀敌(一) 线段树区间求和
- 高精度乘法
- TOMCAT7关于支持SERVLET3的新特性
- 古典密码学(Vigenere)之Java实现
- JavaScript中常见的方法
- Codeforces 828 B Black Square
- 【BFS】coj 1061 【魔方系列】最大色块
- 【GDOI2018模拟7.12】B
- 【软件安全】cwe-89 SQL Injection(一)
- spring扫描出现Annotation-specified bean name 'userService' for bean class [com.test.service.UserService]
- java8的interface和abstract class
- android 使用SciChart创建图表-目前性能效率最好的图表框架
- LintCode 152 买卖股票的最佳时机 IV
- poj 1330 Nearest Common Ancestors (树链剖分版LCA)