問題描述
Fred正在考慮在路易斯安那州找一塊土地在上面建造他的房子。在調查過程中,他了解到路易斯安那州的陸地正以每年50平方英里的速度縮小,原因是密西西比河對陸地的侵蝕。由於Fred希望他的餘生都能居住在這所房子裡,所以他需要知道他的土地是否會被河水侵蝕。 Fred做了更多的研究後發現,正在損失的陸地呈現出一個半圓形的形狀,這個半圓是以(0,0)為圓心的圓的X軸以上的部分,X軸以下的區域是河水,在第一年開始時這個半圓的面積是0。(如下圖所示)
輸入格式
第一行是一個正整數表示接下來有多少組資料,以下的每一行代表一組資料,每組資料由兩個浮點陣列成,以空格隔開,分別代表Fred房子在平面內的座標X和Y,單位是英里,其中Y>=0。
輸出格式
對於每一組輸入資料,輸出一個整數Z,代表Fred的房子會在第Z年中被河水侵蝕。如果在第Z年結束時Fred的房子正好在半圓的邊界上,那麼應該算作是在第Z+1年被侵蝕,返回Z+1。每個返回結果佔一行。
樣例輸入
21.0 1.025.0 0.0
樣例輸出
120
工具/原料
vc6.0
方法/步驟
#include
void main()
{
int year=0,i,n;
double area,pi=3.1415926,r1,r2,xy[50][2];
scanf("%d",&n);
for(i=0;i
scanf("%lf %lf",&xy[i][0],&xy[i][1]);
for(i=0;i
{
if(xy[i][i]>=0)
{
r2=xy[i][0]*xy[i][0]+xy[i][1]*xy[i][1];
area=pi*r2/2;
r1=area/50;
year=int(r1);
if((area-year*50)>=0)
year++;
printf("%d\n",year);
}
}
}