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
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
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.”Sample Input
2 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.
Hint
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. 题解: 在提交过程中,发现某些编译器不写#include<cmath>等头文件没有问题,而在做题时,这些头文件不可省略 #define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cmath>
using namespace std; int main()
{
int n;
cin >> n;
double x, y;
double* d = new double[n];
int max=0;
for (int i = 0; i < n; i++) {
cin >> x >> y;
d[i] = sqrt(x * x + y * y);
}
for (int i = 0; i < n; i++) {
d[i] = d[i] * d[i] * 3.14;
cout << "Property " << i + 1 << ": This property will begin eroding in year " << (int)(d[i] / 100 + 1) << "." << endl;
}
cout << "END OF OUTPUT." << endl;
return 0;
}