0
已解决
1030 景区观光
经验值:1200 时间限制:1000毫秒
题目描述 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)
//CODE
//#pragma GCC optimize(3)
//#include <bits/stdc++.h>
#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int n;
double x, y;
int s;
double ans;
int main() {
// freopen ("题目名.in", "r", stdin);
// freopen ("题目名.out", "w", stdout);
cin >> n;
for (int i = 1; i <= n; i ++) {
cin >> x >> y >> s;
double jl = sqrt(x * x + y * y);
ans += (jl / 5) * 2 + s * 15;
}
cout << (int)(ans + 0.5);
// fclose (stdin);
// fclose (stdout);
return 0;//好习惯!
}
各位大佬看看为什么16分

