佛瑞德最近正在考虑在路易斯安那洲买一片土地来盖一栋房子.在进行调查研究土地的过程中佛瑞德发现,路易斯安那洲的土地由于密西西比河的侵蚀会以每年50平方英里的速度缩减.佛瑞德计划后半生都在该地度过,所以他不希望在自己的有生之年房屋受到河水的侵蚀.现在他需要知道自己是否会受到河水的侵蚀.
在做了更多的调查之后,佛瑞德得知这里的土地沿河岸以半圆形方式侵蚀,这个半圆以(0,0)为圆心的,被X轴分成上下两部分,位于X轴下边的是河水,上面是河岸.在第一年开始的时候这个半圆范围为0,也就是说河岸未被河水侵蚀.(半圆如下图所示)
![](http://172.28.1.238:8082/acmhome/judge/images/1082.jpg)
输入
第一行的一个正整数N指出下边有多少组数据需要计算.下边N行,每行包含两个实数X和Y,指出佛瑞德考虑的房子以(0,0)为原点的坐标系内的位置.以英里为单位.Y为非负数.
输出
计算在X,Y位置佛瑞德的房子在第几年会被河水侵蚀.与输入数据相对应每行以如下形式输出你的计算结果:“Property N: This property will begin eroding in year Z.”, 其中N为第N组数据,Z为你计算出的开始侵蚀的年数.在最后输出一句“END OF OUTPUT.”,表示计算结束.
样例输入
1.0 1.0
25.0 0.0
样例输出
Property 2: This property will begin eroding in year 20.
END OF OUTPUT.
提示
房屋的位置不会正好在半圆边界上,要不在内,要不在外。
你所提交的程序计算输出会由系统自动判断。你的结果要和输出要求精确匹配,字母大小写、标点符号和空格。
包括最后一行的语句也要精确匹配。
所有给定数据都以英里为单位。#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n;
while (cin>>n) {
int even_sum = 0;
int odd_sum = 0;
int num;
while (n--) {
cin>>num;
if (num%2 == 0) {
even_sum += num;
} else {
odd_sum += num;
}
}
cout<<even_sum-odd_sum<<endl;
}
return 0;
}
本来以为每隔一年,被侵蚀的土地的面积就要扩大50,所以每次的半径都是不同,所以要每次都求出来,一时就卡住了,上网看了别人的题解之后,恍然大悟,其实不用那么麻烦去求每次的半径,只要将住房的位置与原点求出来,作为半径然后除以每年扩大的土地就行了。