#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*
路易斯安那地区每年都因为河水侵蚀每年减少 50m 平方英里。 Fred想要在该地方买一个房子,但是他需要确保自己的房子不会在居住过程中被侵蚀
假设侵蚀的面积为一个半圆 并从原点 (0.0)开始。 如果使用坐标来表示,Y轴为正的部分为土地坐标,Y轴以下为水。
现在输入一个坐标,并判断该个坐标的土地将会在什么时候开始被侵蚀 (Y 轴 大于0) 且不输入(0,0)
半圆在第一年开始时面积为0.
*/
#define PI 3.1415926f
int main()
{
double area;
double pos;
double* x, *y; //输入的坐标值
int N; //输入的数值量
int i;
int year;
int *yearOfStartErod; //开始侵蚀的年份
///使用动态分配内存,得知输入得数值量之后才进行分配
scanf_s("%d", &N);
///分配动态内存
x = (double *)malloc(sizeof(double) * N);
y = (double *)malloc(sizeof(double) * N);
yearOfStartErod = (int *)malloc(sizeof(int) * N);
for (i = 0; i < N; ++i)
{
scanf_s("%lf %lf", &x[i], &y[i]);
year = 1;
area = 100;
while (1)
{
pos = sqrt(area * (double)year / PI);
if (pos > sqrt(x[i] * x[i] + y[i] * y[i]))
break;
++year;
}
yearOfStartErod[i] = year;
}
for (i = 0; i < N; ++i)
printf_s("Property %d: This property will begin eroding in year %d.\n", i + 1, yearOfStartErod[i]);
printf_s("END OF OUTPUT.\n");
return 0;
}
北大ACM(1005I Think I Need a Houseboat)代码
猜你喜欢
转载自blog.csdn.net/David_TD/article/details/83655427
今日推荐
周排行