描述
Fred Mapper 考慮在路易斯安那州買地蓋房子。在考察期間,他知道了路易斯安那州實際上由於密西西比河的侵蝕會每年以每年50平方英里的速度減少。因爲Fred希望在新房子裏度過餘生,他需要知道他的地是否會因爲侵蝕而受損。
在經過更多的調查時,Fred知道消失的土地會形成半圓。這個半圓以(0,0)爲圓心,位於X軸上半軸,X軸下部爲河流。半圓在第一年年初面積爲0.
輸入
第一行輸出爲正數,指示有多少數據集(N)。下面的N行中,每一行將包含Fred考察的土地的笛卡爾座標X,Y,均爲浮點數,單位爲英里。Y座標將爲非負數,數據中不包括(0,0)。
輸出
每個數據集中,每行輸出:
Property N: This property will begin eroding in year Z.
N爲數據集編號(從1數起),Z是第一年(從1開始),這個屬性將在年份Z的年底被包含在內。Z一定是整數,在數據集的最後,將輸出:
END OF OUTPUT.
輸入樣例
2
1.0 1.0
25.0 0.0
輸出樣例
Property 1: This property will begin eroding in year 1.
Property 2: This property will begin eroding in year 20.
END OF OUTPUT.
注意
1、屬性不會正好出現在半圓邊界上
2、所有的位置單位爲英里
思路
從面積爲0開始,從(0,0)處每年50平方米的速度呈半圓延伸,輸入一個正整數N,然後輸入N對座標,對於每一對座標值,求出面積擴展到該點需經歷多少年,座標值單位爲英里,所以:求半圓的面積除以50再加1就是年份。
#include <stdio.h>
#include <stdlib.h>
#define PI 3.1415926
int main(int argc, char *argv[])
{
double case_num,x,y;
int i,year;
scanf("%lf", &case_num);
for(i = 1; i<= case_num; ++i){
scanf("%lf %lf", &x, &y);
year = (int)(PI*(x*x + y*y)/100) + 1;
printf("Property %d: This property will begin eroding in year %d.\n",
i,year);
}
printf("END OF OUTPUT.\n");
return 0;
}