HDU - 6162

GNSS 周跳探测方法 之 TurboEdit

  返回  

P7760 [COCI2016-2017#5] Tuna 题解

2021/8/21 20:41:02 浏览:

P7760 [COCI2016-2017#5] Tuna 题解

题目描述

渔夫在昨晚捕到 N条金枪鱼。他准备将这些鱼卖给一个平台。

对于每一条鱼,平台会给出两个估测值 P 1 , P 2 P_1,P_2 P1,P2。如果这两个值之差不超过 X,则取较大的值作为该条鱼的价值;否则如果差超过 X,则取另一个值 P 3 P_3 P3

现在给定 N 条鱼的值(可能会有 2 个或 3 个),求所有鱼的总价值。

输入格式

第一行,一个整数 N,表示金枪鱼的数量。

第二行,一个整数 X。

接下来的若干行分为 N 个部分用来表示每条鱼的信息。每部分的格式为下列二者之一:

  • 该部分仅有唯一一行,该行包含两个整数 P 1 , P 2 P_1,P_2 P1,P2
  • 该部分共有两行,第一行包含两个整数 P 1 , P 2 P_1,P_2 P1,P2,第二行包含一个整数 P 3 P_3 P3

输出格式

输出所有鱼的总价值。

输入输出样例

输入 #1

5
2
3 4
2 1
5 3
4 4
4 2

输出 #1复制

19

输入 #2复制

4
2
3 5
2 8
4
6 5
6 3
7

输出 #2复制

22

输入 #3复制

3
10
20 50
30
20 40
50
70 20
10

输出 #3复制

90

说明/提示

【样例 2 解释】

渔夫捕到了 4 条金枪鱼,而 X 的值为 2:

金枪鱼编号 p 1 ∗ p ∗ 1 p_1*p*1 p1p1 p 2 ∗ p ∗ 2 p_2*p*2 p2p2 p 3 ∗ p ∗ 3 p_3*p*3 p3p3差值最终价值
113355/2 ≤ \le 22≤255
222288446 > \gt > 26>244
336655/1 ≤ \le 21≤266
446633773 ≤ \le 73≤777

故价值总和为 5+4+6+7=22。

【数据规模与约定】

对于 100% 的数据, 1 ≤ N ≤ 201 ≤ ∗ N ∗ ≤ 20 , 1 ≤ X ≤ 101 ≤ ∗ X ∗ ≤ 10 , 1 ≤ P 1 , P 2 , P 3 ≤ 1001 ≤ ∗ P ∗ 1 , ∗ P ∗ 2 , ∗ P ∗ 3 ≤ 100 1 \le N \le 201≤*N*≤20,1 \le X \le 101≤*X*≤10,1 \le P_1,P_2,P_3 \le 1001≤*P*1,*P*2,*P*3≤100 1N201N201X101X101P1,P2,P31001P1,P2,P3100

【提示与说明】

题目译自 COCI 2016-2017 CONTEST #5 *T1 Tuna*。

本题分值按 COCI 原题设置,满分 5050。

解题思路:

最开始我多虑了,以为P3的输入是不定的,还思考了一会怎么输入。

后来分析了一下样例才发现只有大于差值的才会给出p3.那么这道题就只是简单模拟了(因为也想不出判断模拟能有什么骚操作 )。

我们进行n次循环,每次循环输入每条鱼的p1,p2,

然后计算其差的绝对值是否大于x, ( ∣ P 1 − P 2 ∣ > X ? ( 1 ) : ( 2 ) ) ∣ (|P_1-P_2|>X?(1):(2))∣ (P1P2>X?(1):(2))

(1).若大于则再输入p3,并且该鱼价值就是p3,

(2).若小于等于就取p1,p2最大值。

并累加每条鱼的最大价值。

最后,赋上AC代码:

#include<bits/stdc++.h>
using namespace std;

int main(){
    int n,x,sum = 0;
    cin >> n >> x;//输入n,x
    while(n--){//录入每条鱼的信息
        int p1,p2;
        cin >> p1 >> p2;
        if(abs(p1 - p2) > x){//若差值大于x,则取价值p3并累加到sum中
            int p3;
            cin >> p3;
            sum += p3;
        }
        else sum += max(p1,p2);//否则直接累加最大价值
    }
    cout << sum;//输出
    return 0;
}

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号