POJ 1005 I Think I Need a Houseboat
来源:互联网 发布:php就业形势 编辑:程序博客网 时间:2024/06/09 22:22
【参考】http://blog.csdn.net/lijiecsu/article/details/7392994
【题意】密西西比河岸某处陆地因为河水侵蚀,每年陆地面积都在减少,每年减少50平方英里,减少的陆地面积呈半圆形,即该半圆形面积以每年50平方英里的速度增长。
在第一年初时,该半圆形面积为0,半圆形的圆心坐标为(0,0),现在的任务是给定一个坐标,求出该坐标在哪一年年底会被河水侵蚀。假设给定的坐标到圆心的距离不会等于半圆的半径。
【分析】
首先吐槽一下自己的英语太费了,连读个题都很麻烦......
这道题每年增长50平方英里,连半径都没给,看到的第一眼已经傻掉了。
实际上它始终是半圆,那就用πr^2=面积。
第一年:½πr^2=50 即 πr^2 = 100, πr^2/100 = 1
第二年:πr^2 =200, πr^2/100 = 2
第三年:πr^2 =300, πr^2/100 = 3
以此类推。
πr^2 每年增长100;
对于给定的坐标,到圆心的距离平方为 d=x*x + y*y,计算πd /100;
因为d不会等于某个半径,所以 πd /100结果一定是一个带小数的数。
假设结果为n.m,则说明该坐标在第n年年底时还没被侵蚀,而在n+1年时会被侵蚀。
说白了就是个区间的估计,再用它是整数来确定。
【代码】
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
const double Pi=3.14159265358979;
int t,years;
int main(void)
{
scanf("%d",&t);
double x,y;
for (int i=1;t--;i++)
{
scanf("%lf%lf",&x,&y);
years=Pi*(x*x+y*y)/100;
printf("Property %d: This property will begin eroding in year %d.\n",i,years+1);
}
printf("END OF OUTPUT.\n");
return 0;
}
【小结】区间估计+整数确定的思想
- POJ - I Think I Need a Houseboat
- POJ-I Think I Need a Houseboat
- poj 1005 I Think I Need a Houseboat
- POJ 1005 I Think I Need a Houseboat
- (POJ 1005)I Think I Need a Houseboat
- POJ 1005 解题报告 I Think I Need a Houseboat
- 【POJ】1005 I Think I Need a Houseboat
- POJ 1005I Think I Need a Houseboat
- poj-1005 I Think I Need a Houseboat
- [POJ]1005 I Think I Need a Houseboat
- POJ 1005 I Think I Need a Houseboat
- POJ-1005 I Think I Need a Houseboat解题报告
- poj 1005 I Think I Need a Houseboat
- poj 1005 I Think I Need a Houseboat
- POJ 1005 I Think I Need a Houseboat
- poj 1005 I Think I Need a Houseboat
- POJ-1005-I Think I Need a Houseboat
- poj 1005 I Think I Need a Houseboat
- POJ 1002 487-3279
- C#设计模式(十三)迭代器模式
- POJ 1003 Hangover
- 用 Tomcat 和 Eclipse 开发 Web 应用程序
- POJ 1004 Financial Management
- POJ 1005 I Think I Need a Houseboat
- Tomcat全攻略
- POJ 1006 Biorhythms
- POJ 1007 DNA Sorting
- 标签说明
- POJ 1008 Maya Calendar
- 中国剩余定理
- USACO Milking Cows
- 文本文件与二进制文件