【寒假每日一题】P4326 [COCI2006-2007#1] Herman

题目链接:P4326 [COCI2006-2007#1] Herman - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题面翻译

19世纪的德国数学家赫尔曼·闵可夫斯基(Hermann Minkowski)研究了一种名为出租车几何学的非欧几何。
在出租车几何里 T1(x1,y1) T2(x2,y2) 两点之间的距离被定义为 dis(T1,T2)=|x1-x2|+|y1-y2| (曼哈顿距离)。
其他定义均与欧几里得几何相同。  
例如圆的定义:在同一平面内,到定点(圆心)的距离等于定长(半径)的点的集合。

我们对欧几里得几何与出租车几何两种定义下半径为 R 的圆的面积很感兴趣。解决这个问题的重担就落在你身上了。

输入输出格式

输入格式

仅有一行为圆的半径 R。(R <= 10000)

输出格式

第一行输出欧几里得几何下半径为 R 的圆的面积,第二行输出出租车几何下半径为 R 的圆的面积。

注意:你的输出与标准答案绝对误差不超过 0.0001 将会被认为正确

题目描述

The 19th century German mathematician Hermann Minkowski investigated a non-Euclidian geometry, called the taxicab geometry. In taxicab geometry the distance between two points T1(x1, y1) and T2(x2, y2) is defined as:
D(T1,T2) = |x1 - x2| + |y1 - y2|
All other definitions are the same as in Euclidian geometry, including that of a circle:
A circle is the set of all points in a plane at a fixed distance (the radius) from a fixed point (the centre of the circle).
We are interested in the difference of the areas of two circles with radius R, one of which is in normal (Euclidian) geometry, and the other in taxicab geometry. The burden of solving this difficult problem has fallen onto you.

输入格式

The first and only line of input will contain the radius R, an integer smaller than or equal to 10000.

输出格式

On the first line you should output the area of a circle with radius R in normal (Euclidian) geometry.
On the second line you should output the area of a circle with radius R in taxicab geometry.
Note: Outputs within ±0.0001 of the official solution will be accepted.

样例 #1

样例输入 #1

1

样例输出 #1

3.141593
2.000000

样例 #2

样例输入 #2

21

样例输出 #2

1385.442360
882.000000

样例 #3

样例输入 #3

42

样例输出 #3

5541.769441
3528.000000

AC code: 

#include<iostream>
#include<algorithm>
#include<cmath>

using namespace std;

const double PI = 3.141592653589793; // 注意高精度,这里保留16位有效数字

int main()
{
	double r;
	cin>>r;
	double res1 = PI * r * r;
	double res2 = r * sqrt(2) * r * sqrt(2);
	printf("%lf\n",res1);
	printf("%lf",res2);
	
	return 0;
 } 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值