日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

游泳池 (Standard IO)

發布時間:2024/1/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游泳池 (Standard IO) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意/Description:

? ? ? ?有一個游泳池,形狀為等腰直角三角形,直角邊長250米。


? ? ? ?游泳池可以看作是在坐標系統中(如上圖所示)。用一條兩端點在三角形邊上的線段把游泳池分成兩個面積相同的部分。
  在給定線段其中一個端點的情況下,要你編程輸出另一個端點。


讀入/Input

? ? ? ?輸入第一行包含兩個整數,表示線段一個端點的坐標,保證給定的端點在直角三角形的邊上。


輸出/Output

? ? ? ?輸出線段另一個端點的坐標,答案保留2位小數。


題解/solution

? ? ? 自己畫6個圖,分點在每條邊的左邊和右邊6種情況。然后,求出被分成兩半的面積,不停比較,暴力,即可。正解見http://blog.csdn.net/liangzihao1/article/details/51917457。

? ? ? ?我的代碼長,不易懂。樣例過不了,千萬別復制。但AC了。


代碼/Code

varx,y:longint;a,max,k:real; procedure fd; beginif (x=0) and (y=0) thenbeginwrite('125.00 125.00'); halt;end;if (x=250) and (y=0) thenbeginwrite('0.00 125.00'); halt;end;if (x=0) and (y=250) thenbeginwrite('125.00 0.00'); halt;end;if (x=125) and (y=125) thenbeginwrite('0.00 0.00'); halt;end;if (x=0) and (y=125) thenbeginwrite('250.00 0.00'); halt;end;if (x=125) and (y=0) thenbeginwrite('0.00 250.00'); halt;end; end;procedure main1; varsum,t,k:real;i:longint; begint:=(250*y)/2;for i:=1 to 125 dobeginsum:=t+(i*x)/2;if max-sum<sum thenbegink:=i-1;break;end;end;for i:=1 to 100 dobeginsum:=t+(k*x)/2;if max-sum>=sum then k:=k+0.01else break;end;write('0.00 ',k:0:2); end;procedure main2; varsum,t,k:real;i:longint; begint:=(250*x)/2;for i:=1 to 125 dobeginsum:=t+(i*y)/2;if max-sum<sum thenbegink:=i-1;break;end;end;for i:=1 to 100 dobeginsum:=t+(k*y)/2;if max-sum>=sum then k:=k+0.01else break;end;write(k-0.01:0:2,' 0.00'); end;procedure main3; varsum,k:real;i:longint; beginfor i:=125 to 250 dobeginsum:=(x*i)/2;if max-sum<sum thenbegink:=i-1;break;end;end;for i:=1 to 100 dobeginsum:=(x*k)/2;if max-sum>=sum then k:=k+0.01else break;end;write('0.00 ',k-0.01:0:2); end;procedure main4; varsum,k:real;i:longint; beginfor i:=125 to 250 dobeginsum:=((250-x)*i)/2;if max-sum<sum thenbegink:=i-1;break;end;end;for i:=1 to 100 dobeginsum:=((250-x)*k)/2;if max-sum>=sum then k:=k+0.01else break;end;if max-sum<sum then k:=k-0.01;write(250-k:0:2,' ',k:0:2); end;procedure main5; varsum,k:real;i:longint; beginfor i:=125 to 250 dobeginsum:=(y*i)/2;if max-sum<sum thenbegink:=i-1;break;end;end;for i:=1 to 100 dobeginsum:=(y*k)/2;if max-sum>=sum then k:=k+0.01else break;end;write(k-0.01:0:2,' 0.00'); end;procedure main6; varsum,k:real;i:longint; beginfor i:=125 to 250 dobeginsum:=((250-y)*i)/2;if max-sum<sum thenbegink:=i-1;break;end;end;for i:=1 to 100 dobeginsum:=((250-y)*k)/2;if max-sum>=sum then k:=k+0.01else break;end;write(k:0:2,' ',250-k:0:2); end;beginreadln(x,y);fd;max:=(250*250)/2;k:=maxlongint;if (x>125) and (y<125) and (y<>0) then main1;if (x<125) and (y>125) and (x<>0) then main2;if (x>125) and (y=0) then main3;if (x<125) and (y=0) then main4;if (x=0) and (y>125) then main5;if (x=0) and (y<125) then main6; end.

總結

以上是生活随笔為你收集整理的游泳池 (Standard IO)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。