| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
贴个代码,并提示一下可能错的一个地方
#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
int main()
{
int C, N, H, R, T, ians[4];//案例数 球数 高度 半径 时间 整数结果
double et, rt, ans[105];//一次下落或上升的时间 剩余时间 浮点结果
cin >> C;
for (int so = 0; so < C; so++)
{
cin >> N >> H >> R >> T;
et = sqrt(H / 5.0);
for (int i = 0; i < N; i++)
{
if (T > i)
{
rt = T - i - ((int)((T - i) / et))*et;
if (((int)((T - i) / et)) % 2)//上升阶段
{
ans[i] = H - 5 * (et - rt)*(et - rt);
}
else//下降阶段
{
ans[i] = H - 5 * rt*rt;
}
}
else
{
ans[i] = H;
}
}
sort(ans, ans + N);//先排序,再加各自的次序乘直径
for (int i = 0; i < N; i++)
{
ians[0] = (int)((ans[i] + i * R / 50.0) * 100 + 0.5);//四舍五入保留小数点后2位
ians[1] = ians[0] / 100;
ians[2] = (ians[0] % 100) / 10;
ians[3] = ians[0] % 10;
if (i)
{
cout << ' ';
}
cout << ians[1] << '.' << ians[2] << ians[3];
}
cout << '\n';
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator