紫书 习题 10-19 UVa 10868 (物理动能定理)

这道题看起来很长,而实际上就是考物理

可以用动能定理来算出末速度。

同时注意要特判绳子比桥还长的情况。

#include<cstdio>
#include<cmath>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std;

int main()
{
	double k, l, s, w;
	while(~scanf("%lf%lf%lf%lf", &k, &l, &s, &w) && k)
	{
		if(l > s)
		{
			double v = sqrt(2 * 9.81 * s);
			if(v > 10.0) puts("Killed by the impact.");
			else puts("James Bond survives.");
			continue;
		}
		
		double t = 2 * 9.81 * (s - l) - k * pow((s - l), 2) / w + 2 * 9.81 * l;
		if(t < 0.0) puts("Stuck in the air.");
		else if(sqrt(t) > 10.0) puts("Killed by the impact.");
		else puts("James Bond survives.");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_34416123/article/details/81214829