• Kadj Squares POJ


    Kadj Squares  POJ - 3347 

     

     题目链接:https://vjudge.net/problem/POJ-3347

     题意:坐标上从左往右放置几个正方形,且旋转45°,下顶点落在x轴上,求从上往下可以看见哪些正方形

     思路:好恶心。。。。算出每个正方形左右顶点的坐标,当第一个正方形确定后,以后的每下一个的正方形从左往右紧贴着之前的正方形,最大的就是该正方形准确位置,运算过程中合理使用乘除根号2,当正方形被覆盖时,该正方形的左端点的x坐标为她前一个正方形右端点的x坐标,这样一来左右端点x值相减时就好判断是否被覆盖,仔细画图就能理解。。。。

     1 //
     2 // Created by HJYL on 2020/1/17.
     3 //
     4 #include<iostream>
     5 #include<cstring>
     6 #include<cstdio>
     7 #include<cmath>
     8 #include<algorithm>
     9 using namespace std;
    10 const double eps=1e-8;
    11 const int maxn=100;
    12 const double gen2=sqrt(2.0);
    13 struct Point{
    14     double left,right,len;
    15 };
    16 int main()
    17 {
    18 
    19     int T;
    20     while(~scanf("%d",&T)&&T)
    21     {
    22         Point p[maxn];
    23         for(int i=0;i<T;i++)
    24             scanf("%lf",&p[i].len);
    25         p[0].left=0.0;
    26         for(int i=0;i<T;i++)
    27         {
    28             double ll=0.0;
    29             for(int j=0;j<i;j++)
    30             {
    31                 ll=max(ll,p[j].right-fabs(p[i].len-p[j].len)/gen2);
    32             }
    33             p[i].left=ll;
    34             p[i].right=ll+p[i].len*gen2;
    35         }
    36         for(int i=0;i<T;i++)
    37         {
    38             for(int j=0;j<i;j++)
    39             {
    40                 if(p[i].len>p[j].len&&p[i].left<p[j].right)
    41                     p[j].right=p[i].left;
    42                 if(p[i].len<p[j].len&&p[i].left<p[j].right)
    43                     p[i].left=p[j].right;
    44             }
    45         }
    46         for(int i=0;i<T;i++)
    47         {
    48             if(p[i].right-p[i].left>eps)
    49                 printf("%d ",i+1);
    50         }
    51         printf("
    ");
    52     }
    53     return 0;
    54 }
  • 相关阅读:
    Mutex和Lock
    Thread和Promise以及packaged_task
    async和Future
    《并行程序设计导论》——读书笔记汇总
    UnrealEngine4蓝图可视化编程 完整例子 勘误
    BOOST下载
    sql 解析xml
    AutoResetEvent 笔记2
    ssh免密登录设置 (普通用户和root用户)
    npm设置淘宝镜像
  • 原文地址:https://www.cnblogs.com/Vampire6/p/12208019.html
Copyright © 2020-2023  润新知