清橙A1016.缩小的陆地

来源:互联网 发布:oracle数据库实例查询 编辑:程序博客网 时间:2024/04/28 15:38
问题描述
  Fred正在考虑在路易斯安那州找一块土地在上面建造他的房子。在调查过程中,他了解到路易斯安那州的陆地正以每年50平方英里的速度缩小,原因是密西西比河对陆地的侵蚀。由于Fred希望他的余生都能居住在这所房子里,所以他需要知道他的土地是否会被河水侵蚀。
  Fred做了更多的研究后发现,正在损失的陆地呈现出一个半圆形的形状,这个半圆是以(0,0)为圆心的圆的X轴以上的部分,X轴以下的区域是河水,在第一年开始时这个半圆的面积是0。(如下图所示)
输入格式
  第一行是一个正整数表示接下来有多少组数据,以下的每一行代表一组数据,每组数据由两个浮点数组成,以空格隔开,分别代表Fred房子在平面内的坐标X和Y,单位是英里,其中Y>=0。
输出格式
  对于每一组输入数据,输出一个整数Z,代表Fred的房子会在第Z年中被河水侵蚀。如果在第Z年结束时Fred的房子正好在半圆的边界上,那么应该算作是在第Z+1年被侵蚀,返回Z+1。每个返回结果占一行。
样例输入
2
1.0 1.0
25.0 0.0
样例输出
1
20

#include"stdio.h"
#define pi 3.14
int main()
{
int n,t;//输入的n 还有 计数器 
double x,y;//Fred的房子的坐标 
double bigs,tui,h,years1,years2;
scanf("%d",&n);
for(t=0;t<n;t++)
{
scanf("%lf%lf",&x,&y);
tui=50.0;//每年退化五十公里 
   h=x*x+y*y;
   bigs=h*pi*0.5;//半圆面积 
   years1=int(bigs/tui);
   years2=bigs/tui-years1;
   if(years2!=0)
   printf("Fred的房子会在第%0.0lf年中被河水侵蚀",years1+1);
   else
printf("Fred的房子会在第%0.0lf年中被河水侵蚀",years1);


}


return 0;
 } 
原创粉丝点击