本文主要是介绍acm-BiliBili, ACFun… And More!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先说明一下:这个程序我在自己的电脑上运行时没有问题的,但是提交上去之后总是会提示:Wrong Answer on test 1,
有的人可能是因为以下的原因:
1、是不是多case的
2、输出格式不正确
3、有没有考虑0的情况,这个简单的题花了好长时间我也没有找出原因在哪里,
先跳过吧,如果高手看出问题在哪里了,希望高手给我指出来,谢谢
#include<stdio.h>
#include<stdlib.h>
double count_time(unsigned int X,unsigned int Y,unsigned int T,unsigned int S)
{
double tn=0;
double tn1=0;
double ts=0;
tn=T;
if(X<=Y)
{
ts=S/X;
}
else
{
while(tn*Y<S)
{
tn1=tn;
tn=(Y*tn1)/(X-Y)+tn1;
}
ts=tn1+S/X-T;
}
return ts;
}
int main()
{
unsigned int num=0;
unsigned int i=0;
unsigned int X=0;
unsigned int Y=0;
unsigned int T=0;
unsigned int S=0;
double*cost_time=0;
scanf("%d",&num);
cost_time=(double*)malloc(sizeof(double)*num);
for(i=0;i<num;i++)
{
scanf("%d %d %d %d",&X,&Y,&T,&S);
cost_time[i]=count_time(X,Y,T,S);
}
for(i=0;i<num;i++)
{
printf("Case #%d: %.3f\n",i+1,cost_time[i]);
}
return 0;
}
#include<stdlib.h>
double count_time(unsigned int X,unsigned int Y,unsigned int T,unsigned int S)
{
double tn=0;
double tn1=0;
double ts=0;
tn=T;
if(X<=Y)
{
ts=S/X;
}
else
{
while(tn*Y<S)
{
tn1=tn;
tn=(Y*tn1)/(X-Y)+tn1;
}
ts=tn1+S/X-T;
}
return ts;
}
int main()
{
unsigned int num=0;
unsigned int i=0;
unsigned int X=0;
unsigned int Y=0;
unsigned int T=0;
unsigned int S=0;
double*cost_time=0;
scanf("%d",&num);
cost_time=(double*)malloc(sizeof(double)*num);
for(i=0;i<num;i++)
{
scanf("%d %d %d %d",&X,&Y,&T,&S);
cost_time[i]=count_time(X,Y,T,S);
}
for(i=0;i<num;i++)
{
printf("Case #%d: %.3f\n",i+1,cost_time[i]);
}
return 0;
}
这篇关于acm-BiliBili, ACFun… And More!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!