本文主要是介绍UVA 10868 - Bungee Jumping,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
物理题。 很简单。 中间用到了 积分求 绳子做功。动能定理。
分类讨论 绳子长度 与 高度。
当 绳子长度 大于 高度的时候 自由落体。
如果 高度 大于绳子长度 先自由落体 然后 重力 和 绳子拉力同时做功。 动能定理 求解 最终的 速度。 判断即可。
#include <cstdio>
#include <iostream>
#include <vector>
#include <queue>
#include <cstring>
#include <string>
#include <map>
#include <set>
#include <cmath>
#include <algorithm>
#include <cstdlib>
using namespace std;
#define ll long long
#define maxn 2000 + 10
int main (){double k,l,h,w;double g =9.81;while(scanf("%lf%lf%lf%lf",&k,&l,&h,&w)){if(k == 0 && l == 0 && h == 0 && w == 0)break;if(l >= h){double v = sqrt(2*g*h);if(v > 10)printf("Killed by the impact.\n");elseprintf("James Bond survives.\n");}else{double v0 = sqrt(2*g*h);double x = w*g*(h-l) - 0.5*k*(h - l)*(h - l) + g*l*w;if(x < 0)printf("Stuck in the air.\n");else{double v = sqrt(x * 2 / w);if(v <= 10)printf("James Bond survives.\n");elseprintf("Killed by the impact.\n");}}}return 0;
}
这篇关于UVA 10868 - Bungee Jumping的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!