NB20140201 小李数星星

 1.        小李数星星
(star.cpp/pas/c)
【题目描述】 
小李在农村长大,那时候大家喜欢晚饭过后在院子里纳凉,听不懂大人在说什么的小李喜欢抬头看天空,尤其是夏天的夜晚,天上的星星又多又亮。
长大后小李进城打工,每当想家的时他还是喜欢抬头看看天,寻找另一边故乡的记忆。
可是大城市里空气质量太差了,雾霾天气横行,天上能看到的星星也越来越少了。
小李每次用一个正方形去覆盖自己所能看到的星星,随着日子的推移,这个正方形越来越小了,悲伤的小李希望你能告诉他这个正方形的面积。为了让问题变得简单,小李每次只会使用水平放置的正方形来覆盖(不会旋转),具体参照样例解释。
【输入】 
第一行一个整数n,表示星星的数量。
接下来共n行,每行2个正整数(a,b),表示该星星到X轴距离为b,到Y轴距离为a,这些星星只会位于X轴的上方,Y轴的右方。
输入数据保证存在一个合法的正方形(面积非零)去覆盖这些星星
【输出】   
一个整数,表示能覆盖所有星星的最小正方形的面积。
【样例输入】 
3
1 1
2 1
2 2
【样例输出】 
1
【样例说明】 

 

【数据规模】 
80%的数据,3<=n<=20, 1<=x<=100, 1<=y<=100
100%的数据,3<=n<=1000, 1<=x<=100000, 1<=y<=100000

 

 

var
    i,n,a,b,Xmin,Xmax,Ymin,Ymax:longint;

function max(a,b:longint):longint;
begin
    if a>b then exit(a) else exit(b);
end;

function min(a,b:longint):longint;
begin
    if a<b then exit(a) else exit(b);
end;

begin
    Xmin:=maxlongint; Xmax:=0;
    Ymin:=maxlongint; Ymax:=0;
    readln(n);
    for i:=1 to n do
    begin
        readln(a,b);
        Xmin:=min(Xmin,a); Xmax:=max(Xmax,a);
        Ymin:=min(Ymin,b); Ymax:=max(Ymax,b);
    end;
    a:=max(Xmax-Xmin,Ymax-Ymin);
    writeln(a*a);
end.

 

转载于:https://www.cnblogs.com/qilinart/articles/4352564.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值