HDU 1155 Bungee Jumping 物理

时间:2023-03-10 06:28:14
HDU 1155 Bungee Jumping 物理

题目大意:给出k:绳子的劲度系数,l:绳长,s:桥高,w:邦德的质量,g取9.81。绳子弹力=形变量*劲度系数。如果落地速度大于10 则摔死,小于0则飘着空中。

题目思路:根据能量守恒得知:落地的动能=重力势能减少量-绳子弹力做功。如果l>s,则绳子不做功。

#include<cstdio>
#include<stdio.h>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
#define INF 0x3f3f3f3f
#define MAX 1000005 using namespace std; int main()
{
double k,l,s,w,we,g=9.81,v;//we为落地式的动能
while(scanf("%lf%lf%lf%lf",&k,&l,&s,&w),k+l+s+w)
{
if(l > s)//如果绳子大于桥的高度绳子的弹力不会做功,落地时动能增量等于重力势能的减少量
{
v=sqrt(*g*s);
}
else//否则,落地时的动能等于重力势能的减少量-绳子弹力做功。绳子的平均弹力=平均形变量*k
{
we=w*g*s - ((s-l)/2.0)*(s-l)*k;
if(we < )//若果落地动能小于0,肯定在落地前速度就为0了,也就飘着了半空中
{
printf("Stuck in the air.\n");
continue;
}
v=sqrt((we*)/w);
} if(v > )
printf("Killed by the impact.\n");
else
printf("James Bond survives.\n");
}
return ;
}