亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tju1228.pas

?? 同濟大學ACM題庫TJU1228的題解源碼.
?? PAS
字號:
program tju1228;
const
  maxn=10;
  maxtimes=9999;//This is just an evaluated amount
    //I made a test which occupies 7402 times before merging the equal ones
  zero=1e-6;
type
  segment=record x1,y1,x2,y2:real;end;
var
  umb:array[1..maxn]of record start,len,speed:longint;period,phase:real;end;
  time:array[1..maxtimes]of real;
  n,wid,duration,vol,i,j,times:longint;
  l1,l2,sum:real;
function cross(xa,ya,xb,yb,xc,yc:real):real;
  var
    x1,y1,x2,y2:real;
  begin
    x1:=xb-xa;y1:=yb-ya;
    x2:=xc-xa;y2:=yc-ya;
    cross:=x1*y2-x2*y1;
  end;
procedure intersect(a,b:segment);
  var
    c1,c2,x:real;
  begin
    c1:=cross(a.x1,a.y1,a.x2,a.y2,b.x1,b.y1);
    c2:=cross(a.x1,a.y1,b.x2,b.y2,a.x2,a.y2);
    if abs(c1+c2)<zero then exit;
    x:=(b.x1*c2+b.x2*c1)/(c1+c2);
    if (x>=a.x1-zero) and (x<=a.x2+zero) and
       (x>=b.x1-zero) and (x<=b.x2+zero) and (x<duration) then begin
      inc(times);time[times]:=x;
    end;
  end;
procedure make_time(x,y:byte);
  var
    a,b,c,d:segment;
  procedure init(x:byte;var a,b:segment);
    begin
      with umb[x] do
        if speed=0 then begin
          with a do begin x1:=0;y1:=start;x2:=duration;y2:=start;end;
          with b do begin x1:=0;y1:=start+len;x2:=duration;y2:=start+len;end;
        end
        else begin
          with a do begin
            x1:=0;y1:=start;
            if speed>0 then begin x2:=(wid-start-len)/speed;y2:=wid-len;end
                       else begin x2:=-start/speed;y2:=0;end;
          end;
          with b do begin x1:=0;y1:=start+len;x2:=a.x2;y2:=a.y2+len;end;
        end;
    end;
  procedure advance(x:byte;var a,b:segment);
    begin
      with umb[x] do begin
        with a do begin x1:=x2;y1:=y2;x2:=x2+period/2;y2:=wid-len-y2;end;
        with b do begin x1:=x2;y1:=y2;x2:=a.x2;y2:=a.y2+len;end;
      end;
      if a.x1<duration then begin inc(times);time[times]:=a.x1;end;
    end;
  begin
    init(x,a,b);init(y,c,d);
    while (a.x1<duration) and (c.x1<duration) do begin
      intersect(a,c);intersect(a,d);
      intersect(b,c);intersect(b,d);
      if a.x2<c.x2 then advance(x,a,b) else advance(y,c,d);
    end;
  end;
procedure sort_time(s,t:word);
  var
    p,i,j:word;
    tmp:real;
  begin
    if s>=t then exit;
    p:=s+random(t-s+1);
    tmp:=time[p];time[p]:=time[s];
    i:=s;j:=t;
    repeat
      while (i<j) and (time[j]>tmp-zero) do dec(j);
      if i=j then break;time[i]:=time[j];inc(i);
      while (i<j) and (time[i]<tmp+zero) do inc(i);
      if i=j then break;time[j]:=time[i];dec(j);
    until i=j;
    time[i]:=tmp;
    sort_time(s,i-1);
    sort_time(i+1,t);
  end;
function cover(time:real):real;
  var
    a:array[1..maxn*2]of real;
    d:array[1..maxn*2]of shortint;
    i,j,s:shortint;
    p:real;
  begin
    for i:=1 to n do
      with umb[i] do begin
        if speed=0 then begin
          a[i*2-1]:=start;a[i*2]:=start+len;
        end
        else begin
          p:=frac(phase+time/period);
          if p>0.5 then p:=1-p;
          a[i*2-1]:=(wid-len)*p*2;
          a[i*2]:=a[i*2-1]+len;
        end;
        d[i*2-1]:=1;d[i*2]:=-1;
      end;
    for i:=1 to n*2-1 do
      for j:=i+1 to n*2 do
        if a[i]>a[j] then begin
          p:=a[i];a[i]:=a[j];a[j]:=p;
          s:=d[i];d[i]:=d[j];d[j]:=s;
        end;
    cover:=0;j:=0;
    for i:=1 to n*2 do begin
      if j=0 then s:=i;
      inc(j,d[i]);
      if j=0 then cover:=cover+a[i]-a[s];
    end;
  end;
begin
  repeat
    read(n,wid,duration,vol);
    for i:=1 to n do
      with umb[i] do begin
        read(start,len,speed);
        if len=wid then speed:=0
                   else if start=0 then speed:=abs(speed)
                   else if start=wid-len then speed:=-abs(speed);
        if speed=0 then
          period:=1e9
        else begin
          period:=(wid-len)*2/abs(speed);
          phase:=start/(wid-len)/2;
          if speed<0 then phase:=1-phase;
        end;
      end;

    times:=1;time[1]:=0;
    for i:=1 to n-1 do
      for j:=i+1 to n do
        make_time(i,j);
    sort_time(2,times);
    j:=times+1;time[j]:=duration;
    times:=1;
    for i:=1 to j do
      if time[i]-time[times]>zero then begin
        inc(times);time[times]:=time[i];
      end;

    sum:=0;l2:=cover(0);
    for i:=2 to times do begin
      l1:=l2;l2:=cover(time[i]);
      sum:=sum+(l1+l2)*(time[i]-time[i-1]);
    end;
    writeln((wid*duration-sum/2)*vol:0:2);
  until seekeof;
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美剧情片在线观看| 亚洲国产日韩一区二区| 1区2区3区精品视频| 婷婷开心久久网| 大胆亚洲人体视频| 欧美一区二区久久久| 一区二区三区91| 国产麻豆午夜三级精品| 6080午夜不卡| 精品国产3级a| 视频一区视频二区中文| 一本一道综合狠狠老| 中文字幕不卡一区| 国产激情视频一区二区三区欧美 | 国产精品一区二区免费不卡 | av在线这里只有精品| 欧美一级搡bbbb搡bbbb| 亚洲专区一二三| 成人av电影免费在线播放| 欧美精品一区男女天堂| 青青草精品视频| 欧美精品久久久久久久多人混战| 亚洲欧美一区二区三区国产精品| 成人av资源网站| 国产精品视频一二三区| 国产丶欧美丶日本不卡视频| 精品国产一区二区三区不卡| 蜜桃91丨九色丨蝌蚪91桃色| 欧美一区二区精品在线| 天天做天天摸天天爽国产一区| 欧美亚洲日本国产| 国产精一区二区三区| 亚洲精品一区二区三区香蕉| 日本不卡123| 91精品在线免费| 性做久久久久久免费观看欧美| 欧美综合在线视频| 亚洲一区二区三区四区五区黄| 欧美在线制服丝袜| 一区二区三区视频在线看| 欧美亚洲精品一区| 日本va欧美va精品发布| 精品国产精品网麻豆系列| 黄色小说综合网站| 国产欧美一二三区| 色哟哟一区二区在线观看| 一级中文字幕一区二区| 欧美日韩在线电影| 美女视频一区二区三区| 久久久久久久久久久久久夜| 国产成人精品在线看| 国产精品高潮呻吟久久| 欧美综合欧美视频| 日本vs亚洲vs韩国一区三区二区| 久久这里只有精品6| 精品日韩欧美在线| 国产高清精品网站| 18成人在线视频| 欧美精品少妇一区二区三区| 精品制服美女丁香| 亚洲欧美一区二区三区极速播放 | 精品国产一区二区三区av性色| 国产伦精品一区二区三区免费迷 | 成人福利视频网站| 一区二区三区成人| 精品少妇一区二区| 99精品1区2区| 久久99热国产| 亚洲综合成人在线视频| 久久综合久久久久88| 色悠悠亚洲一区二区| 蜜臀99久久精品久久久久久软件| 日本一区二区三区四区在线视频 | 午夜在线电影亚洲一区| 久久久久久一级片| 欧美日韩日日摸| 国产成a人无v码亚洲福利| 亚洲精品videosex极品| 久久免费国产精品| 欧美三级韩国三级日本一级| 国产乱码精品1区2区3区| 一级做a爱片久久| 欧美韩日一区二区三区四区| 欧美一区二区三区免费视频| 播五月开心婷婷综合| 久久99久久久久| 亚洲精品福利视频网站| 欧美韩日一区二区三区| 日韩欧美激情在线| 欧洲色大大久久| 99国产精品久| 国产成人免费在线| 久久99精品久久久久婷婷| 五月天一区二区| 亚洲精品国产高清久久伦理二区| 国产欧美一区视频| 精品国产91洋老外米糕| 日韩亚洲欧美成人一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 精品久久久久一区二区国产| 欧美影院精品一区| 99久久国产综合精品麻豆| 国产成人免费高清| 国产成人av一区二区三区在线 | 一个色妞综合视频在线观看| 日本一区二区视频在线观看| 久久麻豆一区二区| 日韩欧美中文一区二区| 欧美一区二区大片| 日韩欧美中文字幕公布| 欧美一二三四区在线| 日韩精品一区二区三区蜜臀| 91精品欧美一区二区三区综合在| 欧美美女激情18p| 欧美久久久一区| 亚洲欧美一区二区在线观看| 国产午夜精品理论片a级大结局| 精品精品国产高清a毛片牛牛| 欧美一区二区免费| www一区二区| 国产免费成人在线视频| 国产精品理论片| 中文字幕在线观看不卡| 18成人在线观看| 一个色在线综合| 日韩不卡在线观看日韩不卡视频| 日本中文一区二区三区| 美女诱惑一区二区| 国产九九视频一区二区三区| 不卡的电影网站| 色综合中文字幕国产| av成人老司机| 欧美伊人精品成人久久综合97| 8x8x8国产精品| www亚洲一区| 亚洲欧洲成人自拍| 午夜精品久久一牛影视| 国产主播一区二区| 91日韩在线专区| 欧美精品日韩综合在线| 欧美成人一区二区三区在线观看| 久久久久久久综合狠狠综合| 综合久久久久久| 日韩专区欧美专区| 成人久久18免费网站麻豆| 欧美在线观看一二区| 精品国产一区二区亚洲人成毛片 | 日韩女同互慰一区二区| 欧美激情在线一区二区三区| 一区二区三区精密机械公司| 免费看黄色91| 99久久夜色精品国产网站| 9191成人精品久久| 中文字幕不卡一区| 美美哒免费高清在线观看视频一区二区 | 成人免费精品视频| 欧美精品乱码久久久久久按摩| 国产色综合久久| 奇米四色…亚洲| av成人老司机| 26uuu亚洲婷婷狠狠天堂| 亚洲一区二区三区四区五区中文| 久久成人久久爱| 欧美午夜精品免费| 中文字幕乱码久久午夜不卡| 午夜精品久久一牛影视| 99久免费精品视频在线观看| 日韩精品自拍偷拍| 亚洲午夜成aⅴ人片| 99这里都是精品| 欧美精品一区二区三区视频| 亚洲成人午夜影院| 91亚洲男人天堂| 国产日产欧产精品推荐色| 青青草原综合久久大伊人精品| 色网综合在线观看| 国产欧美精品日韩区二区麻豆天美| 免费人成网站在线观看欧美高清| 91国偷自产一区二区三区观看| 国产午夜精品一区二区| 加勒比av一区二区| 日韩精品一区国产麻豆| 日韩电影网1区2区| 欧美精品在线视频| 亚洲一二三区不卡| 色av一区二区| 一区视频在线播放| 成人国产精品视频| 中文字幕精品综合| 成人a免费在线看| 亚洲国产成人在线| av不卡在线观看| 国产精品高潮呻吟久久| 成人97人人超碰人人99| 国产精品视频一二三| 成人高清免费观看| 亚洲色图欧美激情| 色婷婷亚洲综合| 亚洲高清免费观看高清完整版在线观看| 日本大香伊一区二区三区|