题目的思路就是,告诉了坐标即可求出圆的半径(可求出当前坐标时的面积,由于是半圆所以pi*r^2还要乘上个0.5),除以河流侵蚀的速度50/年,得出结果。
计算面积的时候是double型,求year的时候是整型,由于强制转换都是直接抹去小数位,而年份是向上取整,即不足一年按一年来算,故在最后输出的时候,结果要+1,这是本题唯一需要注意的地方。
代码如下:
/*
Arthur: Near_zh
Data: 2014/08/01
Note: poj1005
*/
#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.141592654
int main()
{
double X;
double Y;//横纵坐标
double S;//面积
int year;
int N;
cin>>N;
int count=1;
while(N--)
{
cin>>X>>Y;
S=0.5*PI*(X*X+Y*Y);
year=(int)S/50;
cout<<"Property "<<count++<<": This property will begin eroding in year "<<year+1<<"."<<endl;
}
cout<<"END OF OUTPUT."<<endl;
return 0;
}