题目:
1030 景区观光
题目描述 Description
一旅行团结束一天的观光,准备集合所有成员。有一观光车从景区门口出发,从不同的景点接人至门口集合。景点数量及景点所在人数由输入决定,求出所有人下车到达门口所用的时间。 设以景区门口为坐标原点,观光车每次从门口出发,接到人之后立即返程,将人送回门口。坐标系中的点代表不同的景点位置及所在的人数。观光车每次从门口出发,以5米/秒的速度驶向下一个景点,到达景点后,游客坐上车,每人上车花费10秒,车再原路返回,以同样的速度驶向门口,到达后游客以5秒每人的速度下车。假设原点与任意一个景点的连线不穿过其它景点。
输入描述 Input Description
输入n+1行,
第一行,一个整数,表示景点数n。(0 <n<=10)
接下来依次有n 行输入,每一行上包含一个坐标点(x,y), x和y两个表示景点相对于景区门口的平面坐标位置的实数(单位是米), 和一个表示人数的整数,数之间以一个空格隔开。
如300 400 5
输出描述 Output Description
输出一行,表示游客集合需要的总时间,精确到秒 (向上取整,如3.1s则为4s)。
样例输入 Sample Input
1
300 400 5
样例输出 Sample Output
275
数据范围及提示 Data Size & Hint
(x,y)坐标点离原点的距离为sqrt(x*x+y*y)
数据来源 Source
酷町堂原创
网址:点我
核心部分
for(int i=0;i<=n-1;i++)
{
d[i]=ceil(sqrt(a[i]*a[i]+b[i]*b[i])/5*2+c[i]*10+c[i]*5);
sum+=d[i];
}
注意cmath头文件。
其核心如下:
for(int i=0;i<n;i++)
{
cin>>x>>y>>p;
s+=sqrt(x*x+y*y)/5*2;
s+=p*15;
}
s=(int)(s+0.9);黄俊博在2018-01-29 14:11:37追加了内容
路线长短,直接用给的公式上,然后*5,上车人数每个*10,再加上。
望采纳,谢谢。

定义实数变量x,y,sum=0,rs,k=0;
定义整形变量n;
输入n
for(int i=1;i<=n;i++)
{
cin>>x>>y>>rs;
k=sqrt(x*x+y*y)/5+rs*10+sqrt(x*x+y*y)/5+rs*5;
sum+=k;
}
printf("%d",int(sum+0.9));
for(int i=1;i<=n;i++)
{
cin>>x>>y>>rs;
k=sqrt(x*x+y*y)/5+rs*10+sqrt(x*x+y*y)/5+rs*5;
sum+=k;
}
printf("%d",int(sum+0.9));
