http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1007&cid=832
Problem Description
In the world line 1.048596%
——咲太小弟,我认为啊,人生是为了变温柔而存在的。
——为了达到『温柔』这个目标,我努力活到现在。
在梓川花枫患有解离性障碍以后,失去了所有的记忆,忘记了自己是谁。
“我们会把自己的知觉,意识与记忆整合在一起,认定这就是‘自己’。”医院里,在公共电话那一边的人这样说道。
“那么解离性障碍,也就是无法认定‘自己’所拥有的知觉,意识和记忆。失去身体的部分知觉,或者是将眼前发生的事情当成电影或者电视里面的事件,或者出现deja-vu。都是这个症状的表现。同样也会出现梓川花枫这样的病例”
电话里面的人缓缓说道,但梓川咲太却什么都听不进去。
眼前的这个女孩不再是自己认识的妹妹。
梓川咲太如同内心开了一个洞一样,什么都没有,只有无尽的悲伤。他无法允许自己的身体停留在那里,他逃了,逃到了七里滨的海边。
他遇到了牧之原翔子。
“咲太小弟,你知道这样的一个故事吗?说的是那努力的人帮助村民解决了难题,但却只被告知只允许用一根绳子来圈一块地。于是那个人把绳子的两段放在了笔直的海岸线上......”
“翔子小姐的兴趣就是打断别人思考嘛?还有哪里会有笔直的海岸线啊......”
“我的兴趣是当咲太的知心姐姐。不过,今天来是为了这个。”
翔子小姐拿出了智能手机,上面显示了一个陌生来电,“这是找你的。”
咲太将信将疑的拿过手机,对面那熟悉的声音传递了过来,但咲太却不认识。
“如果把自我比作一根绳子,把现实比作一面无限长的笔直的墙,那么这个绳子和这个墙所能围成的最大面积就是那个人的全部。”
“梓川花枫由于外界的冲击,绳子的形状收到了改变,和墙围成的面积受到了变化。但是,但是如果你能帮助梓川花枫把绳子复原,那么她一定会回来。”电话戛然而止。
如果把人比作一根长度为n的绳子,那么这根绳子和墙所能围成的最大面积是多少呢?
答案早已明晰。察觉到这一点的梓川咲太,向医院的方向奔跑起来。
Input
共T组测试用例(T<=100)
每行一个正整数N(N<=100)
Output
对于每组样例
如果能够围出来,则输出一个数,代表绳子和墙所能围成的最大面积;
如果不可能围出来,输出"Impossble"(没有引号)
答案保留八位小数
Sample Input
2 1 99
Sample Output
0.15915494 1559.87759724
Hint
pi=acos(-1)
C++版本一
半圆
/*
*@Author: STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
using namespace std;
typedef long long ll;
const int N=10000;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m;
int main()
{
#ifdef DEBUG
freopen("input.in", "r", stdin);
//freopen("output.out", "w", stdout);
#endif
scanf("%d",&t);
while(t--){
scanf("%d",&n);
if(n<=0)printf("Impossble\n");
else printf("%.8lf\n",0.5*PI*(n/PI)*(n/PI)+0.00000000001);
}
//cout << "Hello world!" << endl;
return 0;
}