题目名称 4079. 魔法药水
输入输出 msyrup.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarsywgz 于2024-11-26加入
开放分组 全部用户
提交状态
分类标签
贪心 最短路
分享题解
通过:4, 提交:11, 通过率:36.36%
Gravatar彭欣越 100 0.127 s 7.27 MiB C++
Gravatar┭┮﹏┭┮ 100 0.134 s 4.22 MiB C++
Gravatar黄天乐 100 0.192 s 7.19 MiB C++
Gravatar黄天宇 100 0.198 s 7.21 MiB C++
Gravatardick 90 0.158 s 4.82 MiB C++
Gravatar┭┮﹏┭┮ 80 0.186 s 4.19 MiB C++
Gravatar黄天乐 10 0.182 s 7.19 MiB C++
Gravatar彭欣越 0 0.069 s 7.23 MiB C++
Gravatar彭欣越 0 0.078 s 3.40 MiB C++
Gravatardick 0 0.144 s 4.85 MiB C++
本题关联比赛
20241127
关于 魔法药水 的近10条评论(全部评论)

4079. 魔法药水

★★☆   输入文件:msyrup.in   输出文件:msyrup.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目描述】


       一位实习魔法师小A需要试练上交一种魔法药水,而得到一种药水有两种方法:可以按照魔法书上的指导自己配置,也可以到魔法商店里去买——那里对于每种药水都有供应,虽然有可能价格很贵。在魔法书上有很多这样的记载:1 份 A 药水混合 1 份 B 药水就可以得到 1 份 C 药水。现在小A知道了需要上交哪种药水,还知道所有可能涉及到的药水的价格以及魔法书上所有的配置方法。

       小A很穷,现在请你帮他解决以下问题:1.最少花多少钱可以配制成功这种珍贵的药水; 2.共有多少种不同的花费最少的方案(两种可行的配置方案如果有任何一个步骤不同则视为不同的)。假定初始时他手中并没有任何可以用的药水。


【输入格式】


第一行有一个整数 N,表示一共涉及到的药水总数。药水从 0~N­-1顺序编号,0 号药水就是最终要配制的药水。

第二行有 N 个整数,分别表示从 0~N-­1 顺序编号的所有药水在魔法商店的价格(都表示 1

份的价格)。

第三行开始,每行有 3 个整数 A、B、C,表示 1 份 A 药水混合 1 份 B 药水就可以得到 1 份C 药水。注意,某两种特定的药水搭配如果能配成新药水的话,那么结果是唯一的。也就是说不会出现某两行的 A、B 相同但 C 不同的情况。


【输出格式】


输出两个用空格隔开的整数,分别表示得到 0 号药水的最小花费以及花费最少的方案的个数。


【样例输入】

7
10 5 6 3 2 2 3
1 2 0
4 5 1
3 6 2

【样例输出】

10 3

【样例说明】


最优方案有 3 种,分别是:

1.直接买 0 号药水;

2.买 4 号药水、5 号药水配制成 1 号药水,直接买 2 号药水,然后配制成 0 号药水;

3.买 4 号药水、5 号药水配制成 1 号药水,买 3 号药水、6号药水配制成 2,然后配制成 0。

大样例

【数据规模与约定】


对于  20%的数据,n<=30

对于  30%的数据,n<=50

对于  50%的数据,n<=100

对于 100%的数据,n<=1000

所有花费不超过10^9。


【来源】

在此键入。