View Code of Problem 104

#include <stdio.h>
#include <math.h>
int main(){
	float n,v1,v2,t;
	while(scanf("%f %f %f %f",&n,&v1,&v2,&t)!=EOF){
		float time;
		if(n==0) printf("0.00\n");
		else if((v1>=0&&v2>=0)||(v1<=0&&v2<=0)){    //追及 
			if(v1>=0&&v2>=0){
				if(v2>=v1) printf("NO\n");
				else if((v1-v2)*t<n*1000) printf("NO\n");
				else{
					time=(n*1000)/(v1-v2);
					printf("%.2f\n",time);
				}
			}
			else if(v1<=0&&v2<=0){
				if(fabs(v1)>=fabs(v2)) printf("NO\n");
				else if((fabs(v2)-fabs(v1))*t<n*1000) printf("NO\n");
				else{
					time=(n*1000)/(fabs(v2)-fabs(v1));
					printf("%.2f\n",time);
				}
			}
		}
		else if(v1<0&&v2>0){      //相离 
			printf("NO\n");	
		}
		else if(v1>0&&v2<0){      //相撞 
			if((v1+fabs(v2))*t<n*1000) printf("NO\n");
			else{
				time=(n*1000)/(v1+fabs(v2));
				printf("%.2f\n",time);
			}
		} 
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 104