zoukankan      html  css  js  c++  java
  • 数星星

    【题目描述】

    YQL在农村长大,那时候大家喜欢晚饭过后在院子里纳凉,听不懂大人在说什么的YQL喜欢 抬头看天空,尤其是夏天的夜晚,天上的星星又多又亮。长大后YQL进城打工,每当想家 的时他还是喜欢抬头看看天,寻找另一边故乡的记忆。可是大城市里空气质量太差了,雾 霾天气横行,天上能看到的星星也越来越少了。YQL每次用一个正方形去覆盖自己所能看 到的星星,随着日子的推移,这个正方形越来越小了,悲伤的YQL希望你能告诉他这个正 方形的面积。为了让问题变得简单, YQL每次只会使用水平放置正方形来覆盖(不会旋转), 具体参照样例解释。 

    【输入格式】

    第一行一个整数n,表示星星的数量。 接下来共n行,每行2个正整数(a,b),表示该星星到X轴距离为b,到Y轴距离为a,这些星 星只会位于X轴的上方,Y轴的右方。 输入数据保证存在一个合法的正方形(面积非零)去覆盖这些星星。

    【输出格式】

    一个整数,表示能覆盖所有星星的最小正方形的面积。

    【分析】

    取x坐标的最大差值,y坐标的最大差值,在取最大,得到的答案是边长,可以直接算了。

    【代码】

     1 #include<bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 typedef long long ll;
     6 
     7 int n;
     8 int maxx,maxy,minx,miny;
     9 ll ans;
    10 
    11 int main()
    12 {
    13     scanf("%d",&n);
    14     maxx=0;
    15     maxy=0;
    16     minx=1000000;
    17     miny=1000000;
    18     for(int i=1;i<=n;i++){
    19         int x,y;
    20         scanf("%d%d",&x,&y);
    21         maxx=max(x,maxx);
    22         maxy=max(y,maxy);
    23         minx=min(minx,x);
    24         miny=min(miny,y);
    25     }
    26     ll xx=maxx-minx,yy=maxy-miny;
    27     int edge;
    28     if(xx>yy)edge=xx;else edge=yy;
    29     ans=edge*edge;
    30     printf("%lld
    ",ans);
    31     return 0;
    32 }
    黎明的朝阳,会为苦难中最坚强的信念升起
  • 相关阅读:
    HUD --- 3635
    leetcode380- Insert Delete GetRandom O(1)- medium
    leetcode68- Text Justification- hard
    leetcode698- Partition to K Equal Sum Subsets- medium
    leetcode671- Second Minimum Node In a Binary Tree- easy
    leetcode647- Palindromic Substrings- medium
    leetcode633- Sum of Square Numbers- easy
    leetcode605- Can Place Flowers- easy
    leetcode515- Find Largest Value in Each Tree Row- medium
    leetcode464- Can I Win- medium
  • 原文地址:https://www.cnblogs.com/Dawn-Star/p/9129596.html
Copyright © 2011-2022 走看看