hdu 4036
//注意这题的 质量 是 可以不用的
//剩下的直接 用高中物理即可
#include<cmath> #include<cstdio> #include<iostream> using namespace std; struct node { double x; double h; }a[1010]; double min_v(double h,double v) { return sqrt(2*20.0*h+v*v); } int main() { int T; scanf("%d",&T); int n,p,m[1010],mt; for(int k=1;k<=T;k++) { scanf("%d %d %d",&n,&p,&mt); double H=-100000000; int i,j; for( i=1;i<=n;i++) { scanf("%lf %lf",&a[i].x,&a[i].h); if(H<a[i].h)H=a[i].h; } double min=sqrt(2*20.0*(H-a[1].h)); double x,v; for(i=1;i<=p;i++) { scanf("%lf %lf %d",&x,&v,&m[i]); int l,r,mid; for( j=1;j<=n;j++) { if(a[j+1].x>x) { l=j; r=j+1; break; } } double h=(double)(a[r].h-a[l].h)*(x-a[l].x)/(1.0*(a[r].x-a[l].x))+a[l].h; h-=a[1].h; double v0=min_v(h,v); if(min<v0)min=v0; } printf("Case %d: %.2lf\n",k,min); } return 0; }
浙公网安备 33010602011771号