盖房子(house)
盖房子(house)
题目描述
FJ最近得到了面积为n*m的一大块土地,他想在这块土地上建造一所房子,这个房子必须膏形的。但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵)。这些瑕疵十分以至于根本不能在上面盖一砖一瓦。他希望找到一块最大的正方形无瑕疵土地来盖房子。不过,不是什么难题,FJ在10分钟内就轻松解决了这个问题。
现在,您也来试试吧。
输入
第1行为两个整数n,m(1≤n,m≤100)。接下来n行,每行m个数字,用空格隔开。0表萄土地有瑕疵,1表示该块土地完好。
输出
一个整数,最大正方形的边长。
样例输入
4 4 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 1
样例输出
2分析:坐标为(i,j)长度为k的正方形的充分必要条件是坐标(i-1,j),(i,j-1),(i-1,j-1)长度为k-1的正方形并且点(i,j)为1同时成立代码:
#include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> #include <algorithm> #include <climits> #include <cstring> #include <string> #include <set> #include <map> #include <queue> #include <stack> #include <vector> #include <list> #include <ext/rope> #define rep(i,m,n) for(i=m;i<=n;i++) #define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++) #define vi vector<int> #define pii pair<int,int> #define mod 1000000007 #define inf 0x3f3f3f3f #define pb push_back #define mp make_pair #define fi first #define se second #define ll long long #define pi acos(-1.0) const int maxn=2e5+10; const int dis[4][2]={{0,1},{-1,0},{0,-1},{1,0}}; using namespace std; using namespace __gnu_cxx; ll gcd(ll p,ll q){return q==0?p:gcd(q,p%q);} ll qpow(ll p,ll q){ll f=1;while(q){if(q&1)f=f*p;p=p*p;q>>=1;}return f;} int n,m,dp[101][101][101],a[101][101],ma; int main() {int i,j,k,t;scanf("%d%d",&n,&m);ma=0;rep(i,0,100)rep(j,0,100)dp[j][i][0]=1;rep(i,1,n)rep(j,1,m)scanf("%d",&a[i][j]);rep(i,1,n)rep(j,1,m)rep(k,1,min(i,j)){if(dp[i-1][j][k-1]&&dp[i][j-1][k-1]&&dp[i-1][j-1][k-1]&&a[i][j]==1)dp[i][j][k]=1,ma=max(ma,k);}printf("%d\n",ma);//system ("pause");return 0; }
转载于:https://www.cnblogs.com/dyzll/p/5698519.html
盖房子(house)相关推荐
- 未来,机器人帮你盖房子
近年,智能机器人应用日趋广泛和深入.种种迹象表明,"机器人革命"已经来临,人类社会正加速进入一个高度自动化的新时代. 去年9月,碧桂园宣布正式进军机器人领域,重点攻关建筑机器人.服 ...
- 通过细胞自动机,AI在「我的世界」学会了盖房子
子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 了解游戏「我的世界(MineCraft)」的读者,一定很熟悉这样的画面. △图源:Science Magazine 但是,如果盖房子的不是人 ...
- vijos 1057 盖房子 dp 最大子正方形
P1057盖房子 未递交 标签:[显示标签] 描述 永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的. 但是,这块土地并非十全十美 ...
- 今儿直白的用盖房子为例,给你讲讲Java建造者模式
本文分享自华为云社区<[Java设计模式]用盖房子案例讲解建造者模式(生成器模式)>,作者: 我是一棵卷心菜 . 现在我们需要建房子,过程为打桩.砌墙.封顶.房子有各种各样的,比如普通房, ...
- 【百练】护林员盖房子
护林员盖房子 百练 2019信科研究生上机测试 A 总时间限制: 1000ms 内存限制: 65536kB 描述 在一片保护林中,护林员想要盖一座房子来居住,但他不能砍伐任何树木. 现在请你帮他计算 ...
- c语言三只小猪 程序框图,语言教案:三只小猪盖房子
三只小猪盖房子_300字从前有三只小猪,它们各在一片空地上盖房子.第一只小猪盖的是草房,第二只小猪盖的是木房,第三只小猪盖的是砖房.有一天,大灰狼来了,大灰狼来到三只小猪门前说:"小猪们,你 ...
- 算法练习 护林员盖房子
声明:没有OJ能跑,代码仅供思路参考,如有疑问,欢迎一起讨论 题目来源:百练2019信科研究生上机测试 题目:A:护林员盖房子 总时间限制: 1000ms 内存限制: 65536kB 描述 在一片保护 ...
- matlab可以建一个房子吗,做分析师=盖房子
常有学员问,如何才能成为一名分析师?为此我写了一些日志,比如如何用EXCEL做数据处理.如何用SPSS做对应分析等等,但总感觉这些是管中窥豹,只见一斑.如何才能全面回答这个问题呢?今天玩盖房子游戏时, ...
- 用html制作房产,盖房子.html
盖房子 * { padding: 0; margin: 0; } .wrap { width: 800px; height: 500px; border: 1px solid red; positio ...
- 算法题:护林员盖房子(C++)
准备机试时发现有的学校不能用java,为保险只好把C++再翻出来.后来又发现有的学校不能用VS?只能再把Dev C++翻出来. ------------------------------------ ...
最新文章
- Mybatis接口Mapper内的方法为啥不能重载?
- jdbc封装mysql_实用JDBC数据库查询封装
- 1000内同时被3,5,7整除的数
- Telnet协议详解
- shardingjdbc全局表_Sharding-JDBC动态分表实现
- react api_使用React流API将Akka流与rxJava结合在一起
- python部署工具fabric
- 【云栖大会】业务和安全的融合实践详解
- markdown的学习
- java opencv 摄像头,OpenCV使用摄像头
- tcpclient java_以TcpClient接收消息
- OJ密码岛 1243.谢尔宾斯基三角形
- MapReduce端的二次排序以及对移动计算而不是移动数据的理解
- 抖音上显示内部服务器错误,抖音被限流了怎么办?这里分析了原因和解决方法...
- unison实现文件双向同步
- 【实践案例分享】阿里文娱智能营销增益模型 ( Uplift Model ) 技术实践
- 消息称聊天宝团队解散 罗永浩已经退出股东行列
- android app 退出功能,Android 完美退出 App (Exit)
- 完美解释:wenet-流式与非流式语音识别统一模型
- 二义性和C++消除二义性
热门文章
- ActiveX控件开发总结(续二)
- navicat_premium12中文破解版
- EndNote中英文混排时et al和等的3种解决方法
- 【转】Windows 任务管理器 PF使用率 总数 核心内存 物理内存
- 写给刚入门的兄弟们,我常用的几个字段命名参考,大家都这么命名,我们写程序就更规范了...
- ABLIC Inc.推出S-35710/20(I-系列)唤醒计时器IC
- Java项目之利用集合设计图书管理器系统
- 创建纹理化的CityGML模型
- ZeroTier进行虚拟局域网办公
- 缩短服务器响应时间,美国服务器高并发情况下缩短响应时间的方法