题目 20438

Janjetina

查看题解 ↗GitHub ↗如何评测
题号
20438
时间限制
1000 ms
内存限制
256 MB
标签
比赛CSP-S
来源
CSP-S 国外模拟赛 39 - T4

第 4 题 Janjetina (janjetina)

时间限制 1.0 s · 空间限制 256 MB · 66 个测试点 · 全文比较(过滤行末空格及文末回车)

本题使用文件输入输出:输入文件 janjetina.in,输出文件 janjetina.out。

疫情封锁期间,克罗地亚的所有餐厅均被关闭。

Malnar 先生为此十分感伤。但他不久发现并没有必要感到如此伤心,因此他决定将在封锁结束后周游克罗地亚,并在最好的餐厅中享用最美味的羊肉。

题目描述

Malnar 先生将访问 nn 个城市,分别用整数 1 到 nn 表示。同时,他经过调研发现,有 n−1n - 1 条连接其中两个城市的双向路。

每条路上均有一家提供羊肉的餐厅,同时给定每个餐厅可以订购的最大羊肉的重量。

他将选择两个城市 xx 和 yy,并以最短路径(指经过的最少的路)从 xx 到达 yy。他将且仅将在一家餐厅停留,且这家餐厅为可提供羊肉重量最多的一家(如果有多家这样的餐厅,他将会选择任意一家),并将订购的羊肉全部吃光。

如果通过一种长度为 ll 的路径可以吃到 ww 千克的羊肉,且 w−l≥kw - l \ge k,那么 Malnar 先生就称之为满意的。一种路径的长度等同于其经过路的条数。

求有多少个有序数对 (x,y)(x, y),使得从 xx 到 yy 的最短路径是满意的。

输入格式

第一行输入整数 n,kn, k,其中 nn 表示城市的个数。

接下来的 n−1n - 1 行,每行输入三个整数 x,y,wx, y, w,表示有一条连接城市 x,yx, y 的路,且这条道路有一家提供 ww 千克羊肉的餐厅。

输出格式

输出满足题意的有序数对的个数。

样例

样例 1

输入:

文本
3 1
1 2 3
1 3 2

输出:

文本
6

样例 2

输入:

文本
4 1
1 2 1
2 3 2
3 4 3

输出:

文本
6

样例 3

输入:

文本
5 2
1 2 2
1 3 3
3 4 2
3 5 4

输出:

文本
8

提示

样例 1 解释

满足题意的有序数对有 (1,3)(1, 3)、(3,1)(3, 1)、(1,5)(1, 5)、(5,1)(5, 1)、(3,5)(3, 5)、(5,3)(5, 3)、(4,5)(4, 5)、(5,4)(5, 4)。

数据范围

本题采用捆绑评测。

Subtask 分值 数据范围及约定
1 15 1≤n≤10001 \le n \le 1000
2 35 城市 ii 和 i+1i + 1(1≤i≤n−11 \le i \le n - 1)直接相连(即最短距离为 1)
2 60 无

对于 100% 的数据,1≤n,k,w≤1051 \le n, k, w \le 10^5,1≤x,y≤n1 \le x, y \le n,x≠yx \neq y。

说明

**

**

数据下载

题目 20438 的公开数据

正在读取文件列表…

常用命令

题目 20438 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。