问题标题: 酷町堂:1030 景区观光

0
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分


0
已采纳
汪宇航
汪宇航
新手启示者
新手启示者

向上取整不是ceil吗?

0
0
我要回答