盖房子(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)相关推荐

  1. 未来,机器人帮你盖房子

    近年,智能机器人应用日趋广泛和深入.种种迹象表明,"机器人革命"已经来临,人类社会正加速进入一个高度自动化的新时代. 去年9月,碧桂园宣布正式进军机器人领域,重点攻关建筑机器人.服 ...

  2. 通过细胞自动机,AI在「我的世界」学会了盖房子

    子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 了解游戏「我的世界(MineCraft)」的读者,一定很熟悉这样的画面. △图源:Science Magazine 但是,如果盖房子的不是人 ...

  3. vijos 1057 盖房子 dp 最大子正方形

    P1057盖房子 未递交 标签:[显示标签] 描述 永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的. 但是,这块土地并非十全十美 ...

  4. 今儿直白的用盖房子为例,给你讲讲Java建造者模式

    本文分享自华为云社区<[Java设计模式]用盖房子案例讲解建造者模式(生成器模式)>,作者: 我是一棵卷心菜 . 现在我们需要建房子,过程为打桩.砌墙.封顶.房子有各种各样的,比如普通房, ...

  5. 【百练】护林员盖房子

    护林员盖房子 百练 2019信科研究生上机测试 A 总时间限制: 1000ms 内存限制: 65536kB 描述 在一片保护林中,护林员想要盖一座房子来居住,但他不能砍伐任何树木.  现在请你帮他计算 ...

  6. c语言三只小猪 程序框图,语言教案:三只小猪盖房子

    三只小猪盖房子_300字从前有三只小猪,它们各在一片空地上盖房子.第一只小猪盖的是草房,第二只小猪盖的是木房,第三只小猪盖的是砖房.有一天,大灰狼来了,大灰狼来到三只小猪门前说:"小猪们,你 ...

  7. 算法练习 护林员盖房子

    声明:没有OJ能跑,代码仅供思路参考,如有疑问,欢迎一起讨论 题目来源:百练2019信科研究生上机测试 题目:A:护林员盖房子 总时间限制: 1000ms 内存限制: 65536kB 描述 在一片保护 ...

  8. matlab可以建一个房子吗,做分析师=盖房子

    常有学员问,如何才能成为一名分析师?为此我写了一些日志,比如如何用EXCEL做数据处理.如何用SPSS做对应分析等等,但总感觉这些是管中窥豹,只见一斑.如何才能全面回答这个问题呢?今天玩盖房子游戏时, ...

  9. 用html制作房产,盖房子.html

    盖房子 * { padding: 0; margin: 0; } .wrap { width: 800px; height: 500px; border: 1px solid red; positio ...

  10. 算法题:护林员盖房子(C++)

    准备机试时发现有的学校不能用java,为保险只好把C++再翻出来.后来又发现有的学校不能用VS?只能再把Dev C++翻出来. ------------------------------------ ...

最新文章

  1. Mybatis接口Mapper内的方法为啥不能重载?
  2. jdbc封装mysql_实用JDBC数据库查询封装
  3. 1000内同时被3,5,7整除的数
  4. Telnet协议详解
  5. shardingjdbc全局表_Sharding-JDBC动态分表实现
  6. react api_使用React流API将Akka流与rxJava结合在一起
  7. python部署工具fabric
  8. 【云栖大会】业务和安全的融合实践详解
  9. markdown的学习
  10. java opencv 摄像头,OpenCV使用摄像头
  11. tcpclient java_以TcpClient接收消息
  12. OJ密码岛 1243.谢尔宾斯基三角形
  13. MapReduce端的二次排序以及对移动计算而不是移动数据的理解
  14. 抖音上显示内部服务器错误,抖音被限流了怎么办?这里分析了原因和解决方法...
  15. unison实现文件双向同步
  16. 【实践案例分享】阿里文娱智能营销增益模型 ( Uplift Model ) 技术实践
  17. 消息称聊天宝团队解散 罗永浩已经退出股东行列
  18. android app 退出功能,Android 完美退出 App (Exit)
  19. 完美解释:wenet-流式与非流式语音识别统一模型
  20. 二义性和C++消除二义性

热门文章

  1. ActiveX控件开发总结(续二)
  2. navicat_premium12中文破解版
  3. EndNote中英文混排时et al和等的3种解决方法
  4. 【转】Windows 任务管理器 PF使用率 总数 核心内存 物理内存
  5. 写给刚入门的兄弟们,我常用的几个字段命名参考,大家都这么命名,我们写程序就更规范了...
  6. ABLIC Inc.推出S-35710/20(I-系列)唤醒计时器IC
  7. Java项目之利用集合设计图书管理器系统
  8. 创建纹理化的CityGML模型
  9. ZeroTier进行虚拟局域网办公
  10. 缩短服务器响应时间,美国服务器高并发情况下缩短响应时间的方法