智商,,,,,,训练赛上的题目,注重思路的分析,看解题报告分析的特别好。
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int vis,time,minn,min;
int n;
while(scanf("%d",&n)&&n)
{
int flag=0;
for(int i=0; i<n; i++)
{
scanf("%d %d",&vis,&time);
if(time<0) continue;
else flag++;
minn=ceil(4500.0*3.6/vis+time);
if(flag==1)
min=minn;
else
min=min<minn?min:minn;
}
printf("%d\n",min);
}
return 0;
}
ceil函数是向上取整的意思,floor函数是取整数部分,(ceil汉语意思是天花板,而floor是地板)。
错了好几遍,原因在于 if(flag==1)
min=minn;这个没处理好,原来写的是if(i=0) min=minn;如果i=0是,time<0,就出问题了。
多思考,多积累。做题要活跃,发散思维,不要太呆板