【c++算法赛】房顶漏水啦

 题目:

小蓝家的房顶是一个边长为 n 的正方形,可以看成是由 n×n 个边长为 1 的小正方形格子组成。

从上到下第 i 行、从左到右第 j 列的格子用 (i,j) 表示。

小蓝的家由于年久失修,导致房顶有一些地方漏水。总共有 m 处漏水的地方,我们用(x1​,y1​),(x2​,y2​)...(xm​,ym​) 来表示。

于是小蓝来到了五金店,五金店贩卖着一些正方形木板,木板的种类有 n 种,第 i 种木板的边长为 i。小蓝需要一块能够覆盖所有漏洞的木板,请问小蓝需要购买木板的最小边长是多少?

数据范围:

#include<iostream>
using namespace std;
int main()
{
	long long int n,m;//注意数据范围
	cin>>n>>m;//n*n个格子,m处漏水 
	long long int a,b,max1=0,max2=0,min1=n,min2=n;
	for(int i=0;i<m;i++)
	{
		
		cin>>a>>b;
		{
			if(a>max1)	max1=a;
			if(a<min1)	min1=a;
			if(b>max2)	max2=b;
			if(b<min2)	min2=b;
		}
		
	}
	
	long long int x,y,z;
	x=max1-min1+1;
	y=max2-min2+1;
	z=x>y?x:y;  //条件运算符
	cout<<z;
	
	return 0;
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值