1 条题解

  • 0
    @ 2025-8-24 21:16:02

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Maxmilite
    **

    搬运于2025-08-24 21:16:01,当前版本为作者最后更新于2024-02-21 00:08:27,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    Source & Knowledge

    2024 年 2 月语言月赛,由洛谷网校入门计划/基础计划提供。

    题目大意

    某场比赛薪酬 mm 元,有两位出题人。给定 nn 道题目各自的工资权重(用于计算比例)和出题人,求 22 号出题人拿到的工资。

    题目分析

    我们只需要计算出两位出题人的「题目的工资权重」的总和,之后按照总和分配即可。

    使用两个整数变量 x,yx, y 记录权重总和,使用 for 循环计算,核心代码如下:

    int x = 0, y = 0;
    for (int i = 1; i <= n; ++i) {
    	int a, b;
        cin >> a >> b;
        if (a == 1) {
        	x += b;
        } else {
        	y += b;
        }
    }
    

    之后,只需要将 mm 元工资按照 x:yx : y 的比例分红即可。22 号出题人拿到的工资为 m×yx+ym \times \dfrac{y}{x + y}

    double ans = ((double) m) * y / (x + y);
    

    最后输出 ans 即可。在 printf 中,可以使用格式化字符串 %.3f。这个格式化字符串告诉 printf 函数要输出一个浮点数,并且保留三位小数。

    printf("%.3lf\n", ans);
    

    视频讲解

    • 1

    信息

    ID
    9773
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者