zju1049題解

題目:

 

I Think I Need a Houseboat
Time Limit: 1 Second      Memory Limit: 32768 KB

 

 

Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the process of investigating the land, he learned that the state of Louisiana is actually shrinking by 50 square miles each year, due to erosion caused by the Mississippi River. Since Fred is hoping to live in this house the rest of his life, he needs to know if his land is going to be lost to erosion. 

After doing more research, Fred has learned that the land that is being lost forms a semicircle. This semicircle is part of a circle centered at (0,0), with the line that bisects the circle being the X axis. Locations below the X axis are in the water. The semicircle has an area of 0 at the beginning of year 1. (Semicircle illustrated in the Figure.)

 

Input Format: 

The first line of input will be a positive integer indicating how many data sets will be included (N). 

Each of the next N lines will contain the X and Y Cartesian coordinates of the land Fred is considering. These will be floating point numbers measured in miles. The Y coordinate will be non-negative. (0,0) will not be given.


Output Format: 

For each data set, a single line of output should appear. This line should take the form of: 

��Property N: This property will begin eroding in year Z.�� 

Where N is the data set (counting from 1), and Z is the first year (start from 1) this property will be within the semicircle AT THE END OF YEAR Z. Z must be an integer. 

After the last data set, this should print out ��END OF OUTPUT.��

Notes: 

1. No property will appear exactly on the semicircle boundary: it will either be inside or outside. 

2. This problem will be judged automatically. Your answer must match exactly, including the capitalization, punctuation, and white-space. This includes the periods at the ends of the lines. 

3. All locations are given in miles. 

Sample Input: 


1.0 1.0 
25.0 0.0 


Sample Output: 

Property 1: This property will begin eroding in year 1. 
Property 2: This property will begin eroding in year 20. 
END OF OUTPUT.


 

Source: Mid-Atlantic USA 2001

題目大意:弗雷德先生正在考慮在路易斯安娜州買一塊地造房子,在土地調查中,他瞭解到由於密西西比河的侵蝕,路易斯安那州正以每年50平方英里的速度變小。弗雷德先生想知道他買的那塊地是否會被侵蝕掉,經過進一步的研究,弗雷德先生髮現將要被侵蝕的土地爲半圓形,半圓是一個以(0,0)爲中心的圓的一半,半圓的直邊是x軸。x軸以下的部分在水中,第一年開始時,圓的面積是0,半圓如圖所示。第一行輸入一個整數n,表示有幾組測試數據,接下來有n行,每行是(x,y)的座標,弗雷德正在考慮地皮的位置,座標值是以英里爲單位的浮點數,座標y不會爲負數,這兩個數不會都爲0,輸出經過多少年後,弗雷德的房子會被淹沒。

算法分析:有(x,y)座標可求出半徑r,然後就可以求出面積,利用循環語句來求出年數,(也可以用面積除以50)。

代碼:

語言:c

#include<stdio.h>

#include<math.h>

const double pi=3.1415927;

int main()

{

int i=1,n;

int year;

double x,y,radius,area;

scanf("%d",&n);

while(n--)

{

scanf("%lf%lf",&x,&y);

radius=x*x+y*y;

area=pi*radius/2.0;

year=(int)ceil(area/50.0);

printf("Property %d:",i++);

printf("This property will begin eroding in year %d./n",year);

}

printf("END OF OUTPUT./n");

return 0;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章