UVA 11715 Solution
Solve in C:
#include<stdio.h>
#include<math.h>
int main()
{
int n,i=1;
double u,v,a,s,t,su,sv,s1,t1;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
if(n==1)
{
scanf("%lf%lf%lf",&u,&v,&t);
a=(v-u)/t ;
s=u*t+.5*(a*t*t);
if(s<0)
{
s1=-1*s;
printf("Case %d: %.3lf %.3lf",i,s1,a);
printf("\n");
}
else
{
printf("Case %d: %.3lf %.3lf",i,s,a);
printf("\n");
}
}
else if(n==2)
{
scanf("%lf%lf%lf",&u,&v,&a);
t= (v-u)/a ;
s=u*t+.5*(a*t*t);
if(s<0&&t<0)
{
t1=-1*t;
s1=-1*s;
printf("Case %d: %.3lf %.3lf",i,s1,t1);
printf("\n");
}
else if(s<0&&t>0)
{
s1=-1*s;
printf("%.3lf %.3lf",s1,t);
printf("Case %d: %.3lf %.3lf",i,s1,t);
printf("\n");
}
else if(t<0&&s>0)
{
t1=-1*t;
printf("Case %d: %.3lf %.3lf",i,s,t1);
printf("\n");
}
else if(t>0&&s>0)
{
printf("Case %d: %.3lf %.3lf",i,s,t);
printf("\n");
}
}
else if(n==3)
{
scanf("%lf%lf%lf",&u,&a,&s);
sv=u*u+2*a*s;
v=sqrt(sv);
t= (v-u)/a ;
if(t<0)
{
t1=-1*t;
printf("Case %d: %.3lf %.3lf",i,v,t1);
printf("\n");
}
else
{
printf("Case %d: %.3lf %.3lf",i,v,t);
printf("\n");
}
}
else if(n==4)
{
scanf("%lf%lf%lf",&v,&a,&s);
su=v*v-2*a*s;
u=sqrt(su);
t= (v-u)/a ;
if(t<0)
{
t1=-1*t;
printf("Case %d: %.3lf %.3lf",i,u,t1);
printf("\n");
}
else{
printf("Case %d: %.3lf %.3lf",i,u,t);
printf("\n");
}
}
i++;
}
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
int n,i=1;
double u,v,a,s,t,su,sv,s1,t1;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
if(n==1)
{
scanf("%lf%lf%lf",&u,&v,&t);
a=(v-u)/t ;
s=u*t+.5*(a*t*t);
if(s<0)
{
s1=-1*s;
printf("Case %d: %.3lf %.3lf",i,s1,a);
printf("\n");
}
else
{
printf("Case %d: %.3lf %.3lf",i,s,a);
printf("\n");
}
}
else if(n==2)
{
scanf("%lf%lf%lf",&u,&v,&a);
t= (v-u)/a ;
s=u*t+.5*(a*t*t);
if(s<0&&t<0)
{
t1=-1*t;
s1=-1*s;
printf("Case %d: %.3lf %.3lf",i,s1,t1);
printf("\n");
}
else if(s<0&&t>0)
{
s1=-1*s;
printf("%.3lf %.3lf",s1,t);
printf("Case %d: %.3lf %.3lf",i,s1,t);
printf("\n");
}
else if(t<0&&s>0)
{
t1=-1*t;
printf("Case %d: %.3lf %.3lf",i,s,t1);
printf("\n");
}
else if(t>0&&s>0)
{
printf("Case %d: %.3lf %.3lf",i,s,t);
printf("\n");
}
}
else if(n==3)
{
scanf("%lf%lf%lf",&u,&a,&s);
sv=u*u+2*a*s;
v=sqrt(sv);
t= (v-u)/a ;
if(t<0)
{
t1=-1*t;
printf("Case %d: %.3lf %.3lf",i,v,t1);
printf("\n");
}
else
{
printf("Case %d: %.3lf %.3lf",i,v,t);
printf("\n");
}
}
else if(n==4)
{
scanf("%lf%lf%lf",&v,&a,&s);
su=v*v-2*a*s;
u=sqrt(su);
t= (v-u)/a ;
if(t<0)
{
t1=-1*t;
printf("Case %d: %.3lf %.3lf",i,u,t1);
printf("\n");
}
else{
printf("Case %d: %.3lf %.3lf",i,u,t);
printf("\n");
}
}
i++;
}
return 0;
}
No comments