hznu 1464: ST Task(算角度,注意精度)
来源:互联网 发布:知彼而知己 打不开 编辑:程序博客网 时间:2024/05/01 10:05
You get a ST task, that is: given a stick one end of who is moored on the ground, you are asked to turn over the stick by holding the other end. When it reaches the ground again, the task is finished. It is true that on the process, the stick is always on the same plane vertical the ground. And on this plane, there is light from up to down, so that we can see on the ground a line of shadow. Look at the picture:
In order to express the shadow part and the un-shadow (light space) part, to simple the problem we just need to express the length that 2 times of the length of the stick where the shadow may occur.
Now, give the problem: the stick on the beginning is on the left of the moored point, and we turn it on certain angular speed, using a ‘S’ to denote one unit of the light space and a ‘T’ for one unit of the shadow line. Besides that, a real number is needed to tell the scale between the shadow line and the full line where shadow may be.
输入
There is only one case. Two integers L (0 < L ≤ 25) and V (0 < V ≤ 90) is given.
L is the length of the stick; V is the angular speed of the turning task, in angle per second.
输出
For every second during the task, you are asked to tell the shape of the shadow on the ground. See the sample: ‘S’ for the light space and ‘T’ for the shadow.
样例输入
25 15
样例输出
TTTTTTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSS 0.50000STTTTTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSS 0.48296SSSTTTTTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSS 0.43301SSSSSSSTTTTTTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSS 0.35355SSSSSSSSSSSSTTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSS 0.25000SSSSSSSSSSSSSSSSSSSTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSS 0.12941SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 0.00000SSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTSSSSSSSSSSSSSSSSSSS 0.12941SSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTSSSSSSSSSSSS 0.25000SSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTSSSSSSS 0.35355SSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTSSS 0.43301SSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTS 0.48296SSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTT 0.50000
http://hsacm.cn/JudgeOnline/problem.php?id=1464
#include<iostream>#include<algorithm>#include<string>#include<map>#include<vector>#include<cmath>#include<string.h>#include<stdlib.h>#include<cstdio>#include<queue>#include<set>#define ll long long#define eps 1e-7 //本题注意精度问题 using namespace std;int main(){ int n,m; cin>>n>>m; //n是长度,m是角速度 int x[1001]; int p=-1; for(int i=0;i*m<=180;++i){ double u=n*cos(3.1415926535*(double)i*m/180); //注意cos里面放的不是角度而是角度/180*π int w=u+eps; //取整 if(u>=0){ if(u-w+eps>=0.5) //四舍五入 w++; int s=n-w; for(int i=0;i<s;++i) cout<<"S"; for(int i=0;i<w;++i) cout<<"T"; for(int i=0;i<n;++i) cout<<"S"; cout<<" "; printf("%.5lf\n",(double)u/(n+n)+eps); //T的比重 } else{ for(int i=0;i<n;++i) cout<<"S"; u*=-1; int w=u+eps; if(u-w+eps>=0.5) w++; for(int i=0;i<w;++i) cout<<"T"; int s=n-w; while(s--) cout<<"S"; cout<<" "; printf("%.5lf\n",(double)u/(n+n)+eps);}} return 0;}
- hznu 1464: ST Task(算角度,注意精度)
- uva147 - Dollars-------水题(精度注意)
- 【poj1064】Cable master(二分+精度注意)
- hznu 1652 能量项链(dp,难)
- HZNU-1028: 多项式合并(map实现)
- 10.30 task 二进制+精度+DP
- hdu4901-DP注意精度
- nyoj199无线网络覆盖(这道题要注意精度的计算)
- poj3122 二分基础题(注意连续实数的精度)
- HDU 3714 Error Curves (三分法注意判断精度)
- hznu 1439 Emergency(不断加入点,更新最短路)
- hznu 1443 Ivan comes again!(set.lower_bound())
- hznu 1437: Clockwise(隐藏的暴力水题,数学)
- hznu 1164 Unidirectional TSP(记录状态的DP)
- hznu 1628: 旅行家的预算(贪心,分类)
- hznu 1139: Minimax Triangulation(dp,三角形面积模板)
- hznu 1636: 方格取数(dp,灵活题)
- 精度要注意的细节
- 【C语言总结】宏定义,预处理
- android 持久化保存cookie
- 方向导数和梯度
- String与InputStream相互转换
- Android ListView 一
- hznu 1464: ST Task(算角度,注意精度)
- Unique Paths
- Java的内存机制
- HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。(解决办法)
- erlang中启动一个gen_server和一个纯粹进程的区别
- android读写cookie的方法
- HDU4072Working at the Restaurant(模拟)
- java类的访问权限
- ssh免密钥设置