#P6722. 「MCOI-01」Village 村庄

    ID: 5624 远端评测题 1000ms 500MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>动态规划dp搜索图论二分图树的直径

「MCOI-01」Village 村庄

题目背景

今天,珂爱善良的0x3喵酱骑着一匹小马来到了一个村庄。

“诶,这个村庄的布局 ……”
“好像之前我玩 Ciste 的地方啊 qwq”

0x3喵酱有一个地图,地图有着这个村庄的信息。

然后0x3喵酱要通过这张地图来判断 Ciste 有解无解啦 ~

注:Ciste 是《请问您今天要来点兔子吗》中的一种藏宝图游戏

题目描述

村庄被简化为一个 nn 个节点(编号为 11nn)和 n1n-1 条边构成的无向连通图。

0x3喵酱认为这个无向图里的信息跟满足以下条件的新图有关:

  • 新图的点集与原图相同
  • 在新图中 u,vu,v 之间有无向边 是 在原图中 dis(u,v)kdis(u,v) \ge k充分必要条件kk 为给定常量,dis(u,v)dis(u,v) 表示编号为 uu 的点到编号为 vv 的点最短路的长度)

0x3喵酱还认为这个"新图"如果为二分图,则 Ciste "有解",如果"新图"不是二分图这个 Ciste "无解"。(如果您不知道二分图请翻到提示)

那么0x3喵酱想请您判断一下这个 Ciste 是否"有解"。

输入格式

第一行包含一个正整数 T T ,表示有 T T 组数据。
对于每组数据第一行包含两个正整数 n,k n,k 。接下来 n1 n-1 行,每行包含三个正整数 x,y,v x,y,v 表示编号为 x x 的点到编号为 y y 的点有一条边权为 v v 的无向边。
输入数据保证合法。

输出格式

对于每一组数据包含一行,如果“有解”输出 Yes,否则输出 Baka Chino

5
5 2
1 2 1
2 3 1
3 4 1
4 5 1
5 3
1 2 1
2 3 1
3 4 1
4 5 1
5 8
1 3 3
1 2 1
2 4 6
2 5 2
5 2
1 3 3
1 2 1
2 4 6
2 5 2
7 4
1 2 3
1 3 3
2 5 3
2 6 3
3 7 3
2 4 2
Baka Chino
Yes
Yes
Baka Chino
Baka Chino

提示

样例解析

对于样例中的 第一组 数据:

原图:

新图:

新图不为二分图,故输出 Baka Chino

对于 第三组 数据:

原图:

新图:

新图为二分图,故输出 Yes

数据规模与约定

本题采用捆绑测试

  • Subtask 1(16 pts) \ n10n \le 10
  • Subtask 2(24 pts) \ n100n \le 100
  • Subtask 3(8 pts) \ n1000n \le 1000
  • Subtask 4(28 pts):图退化成一条链。
  • Subtask 5(24 pts):无特殊限制。

对于 100%100\% 的数据,n105n \le 10^5T10T \le 10v1000v \le 1000k1000000k \le 1000000

本题数据使用 CYaRon 生成。

提示

二分图 又称作二部图,是图论中的一种特殊模型。设 G=(V,E)G=(V,E) 是一个无向图,如果顶点 VV 可分割为两个互不相交的子集 (A,B)(A,B),并且图中的每条边 (i,j)(i,j) 所关联的两个顶点 iijj 分别属于这两个不同的顶点集 (iA,jB)(i \in A,j \in B),则称图 GG 为一个二分图。(摘自百度百科

说明

Minecraft OI Round 1 A

  • Idea:0x3喵酱
  • Solution/Std:0x3喵酱
  • Data:0x3喵酱
  • Tester:tarjin