POJ 1005 I Think I Need A Houseboat
2015-08-29 11:04
302 查看
问题描述:http://poj.org/problem?id=1005
这题应该没什么难度吧。大体意思:半圆表示一块面积可扩展的区域,开始时,面积是0,在(0,0)处开始以每年 50平方米的速度同样呈半圆扩展,输入一个正整数N,然后输入N对坐标,对于每一对坐标值:求出面积扩展到该点 的年数,坐标值单位为米。
还有要特别注意输出的格式问题,一个点都不能少啊!!!
AC代码:
#include <iostream>
#include <math.h>
using namespace std;
float r[10000];
void init()
{
r[0]=0;
for(int i=1;i<=1000;i++)
r[i]=10*sqrt(i/3.1415926);
}
int find(float dis)
{
for(int i=1;i<=1000;i++)
{
if(dis>r[i-1] && dis<r[i])
return i;
}
return -1;
}
int main()
{
int n;
float x,y;
cin>>n;
init();
for(int i=1;i<=n;i++)
{
cin>>x>>y;
cout<<"Property "<<i<<": This property will begin eroding in year "<<find(sqrt(x*x+y*y))<<".\n";
}
cout<<"END OF OUTPUT."<<endl;
return 0;
}
这题应该没什么难度吧。大体意思:半圆表示一块面积可扩展的区域,开始时,面积是0,在(0,0)处开始以每年 50平方米的速度同样呈半圆扩展,输入一个正整数N,然后输入N对坐标,对于每一对坐标值:求出面积扩展到该点 的年数,坐标值单位为米。
还有要特别注意输出的格式问题,一个点都不能少啊!!!
AC代码:
#include <iostream>
#include <math.h>
using namespace std;
float r[10000];
void init()
{
r[0]=0;
for(int i=1;i<=1000;i++)
r[i]=10*sqrt(i/3.1415926);
}
int find(float dis)
{
for(int i=1;i<=1000;i++)
{
if(dis>r[i-1] && dis<r[i])
return i;
}
return -1;
}
int main()
{
int n;
float x,y;
cin>>n;
init();
for(int i=1;i<=n;i++)
{
cin>>x>>y;
cout<<"Property "<<i<<": This property will begin eroding in year "<<find(sqrt(x*x+y*y))<<".\n";
}
cout<<"END OF OUTPUT."<<endl;
return 0;
}
相关文章推荐
- POJ ACM 1001
- POJ ACM 1002
- POJ 2635 The Embarrassed Cryptographe
- POJ 3292 Semi-prime H-numbers
- POJ 2773 HAPPY 2006
- POJ 3090 Visible Lattice Points
- POJ-2409-Let it Bead&&NYOJ-280-LK的项链
- POJ-1695-Magazine Delivery-dp
- POJ1523 SPF dfs
- POJ-1001 求高精度幂-大数乘法系列
- POJ-1003 Hangover
- POJ-1004 Financial Management
- 用单调栈解决最大连续矩形面积问题
- 2632 Crashing Robots的解决方法
- 1573 Robot Motion (简单题)
- POJ 1200 Crazy Search(简单哈希)
- 【高手回避】poj3268,一道很水的dijkstra算法题
- POJ 1088 滑雪
- poj2387 Til the Cows Come Home—Dijkstra模板
- poj 2485 Highways