<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      #include<iostream>
      #include<cstring>
      #include<cmath>
      #include<cstdio>
      #include<algorithm>
      using namespace std;
      const int maxn=1005;
      const double eps=1e-12;
      double ans=1e10;
      int n,head,tail;
      struct vec{
          double x,y;
          vec(double x=0,double y=0):x(x),y(y){}
          vec operator-(vec& a){
              return vec(x-a.x,y-a.y);
          }
          vec operator+(vec&a){
              return vec(x+a.x,y+a.y);
          }
      }po[maxn],g[maxn];
      vec operator*(vec a,double t){return vec(a.x*t,a.y*t);}
      double cross(vec a,vec b){return a.x*b.y-b.x*a.y;}
      struct lin{
          vec p,v;//p是直線上一個點,v是方向向量 
          double ang;//ang是斜率;
          lin(){} 
          lin(vec p,vec v):p(p),v(v){ang=atan2(v.y,v.x);}
          bool operator<(const lin&a)const{
              return ang<a.ang;
          }
      }ll[maxn],q[maxn],bb,cc;
      bool onl(lin L,vec p){
          return cross(L.v,p-L.p)>0;
      }
      vec qj(lin a,lin b){
          vec u=a.p-b.p;
          double t=cross(b.v,u)/cross(a.v,b.v);
          return a.v*t+a.p;
      }
      void halfj(){
          sort(ll,ll+n);
          q[head=tail=0]=ll[0];
          for(int i=1;i<n;++i){
              while(head<tail&&!onl(ll[i],g[tail-1]))tail--;
              while(head<tail&&!onl(ll[i],g[head]))head++;
              q[++tail]=ll[i];
              if(fabs(cross(q[tail].v,q[tail-1].v))<eps){
                  --tail;if(onl(q[tail],ll[i].p))q[tail]=ll[i];
              }
              if(head<tail)g[tail-1]=qj(q[tail-1],q[tail]);
          }
          while(head<tail&&!onl(q[head],g[tail-1]))--tail;
      }
      int main(){
          cin>>n;
          for(int i=1;i<=n;++i){
              scanf("%lf",&po[i].x);
          }
          for(int i=1;i<=n;++i){
              scanf("%lf",&po[i].y);
          }
          po[0].x=po[1].x;po[0].y=100001;
          po[n+1].x=po[n].x;po[n+1].y=100001;
          for(int i=0;i<=n;++i){
              ll[i]=lin(po[i],po[i+1]-po[i]);
          }
          n+=1;
          halfj();
          for(int k=0;k<tail;++k)
              for(int i=1;i<n-1;++i){
                  vec tmp;tmp.x=g[k].x;tmp.y=-1;
                  if(g[k].x>=po[i].x&&g[k].x<=po[i+1].x){
                      cc=lin(po[i],po[i+1]-po[i]);
                      bb=lin(tmp,g[k]-tmp); 
                      ans=min(ans,g[k].y-qj(cc,bb).y);
                  }
          }
          for(int k=1;k<=n-1;++k)
              for(int i=0;i<tail-1;++i){
                  vec tmp;tmp.x=po[k].x;tmp.y=-1;
                  if(po[k].x>=g[i].x&&po[k].x<=g[i+1].x){
                      cc=lin(g[i],g[i+1]-g[i]);
                      bb=lin(tmp,po[k]-tmp);
                      ans=min(ans,qj(cc,bb).y-po[k].y);
                  }        
          }
          printf("%.3lf",ans);
          return 0;
      } 

       

      posted on 2018-03-24 16:15  湮滅之瞳  閱讀(120)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 成人做受120秒试看试看视频| 日韩黄色av一区二区三区| 国产又爽又黄又刺激的视频| 国产日韩一区二区四季| 99热在线观看| 无套内谢少妇毛片aaaa片免费| 国产精品日韩专区第一页| 亚洲不卡av不卡一区二区| 少妇人妻偷人精品系列| 国产极品粉嫩馒头一线天| 亚洲成人动漫在线| 亚洲欧美日韩在线码| 91午夜福利一区二区三区| ww污污污网站在线看com| 精品国产AV无码一区二区三区| 国产成人亚洲精品青草天美| 国产日韩久久免费影院| 人妻无码久久久久久久久久久| 一区二区三区四区黄色网| 久久天天躁夜夜躁狠狠| 四虎成人精品在永久免费| 办公室强奷漂亮少妇视频| 余姚市| 国精品无码一区二区三区左线| 国产精品自产在线观看一| 老色鬼在线精品视频在线观看| 日韩精品中文字幕第二页| 少妇人妻偷人免费观看| 精品国产乱码一区二区三区| 亚洲色偷偷偷网站色偷一区| 91精品国产午夜福利| 强奷乱码欧妇女中文字幕熟女| 国产色无码精品视频免费| 亚洲综合久久精品哦夜夜嗨| 久久久久成人片免费观看蜜芽| 永春县| 国产精品久久无码不卡黑寡妇 | 精品国产一区二区三区国产区| 狠狠色综合网站久久久久久久| 2019国产精品青青草原| 中文字幕成熟丰满人妻|