#P2090. 片区划分

片区划分

题目描述

A 市有 nn 个村庄(村庄编号为 1n1 \sim n ),现准备将 nn 个村庄划分为 kk 个区(一个区中要有至少 11 个村庄),同一个区中的村庄要求有道路可以互相到达(不一定要直达,比如:A 村要去 C 村,可以先先去 B 村,再去 C 村)。

为了节约成本,在划分之前,相关规划部门调研了村庄之间修路的成本,本次调研,共调研到了 mm 条道路的建设成本。

假设所有村庄之间目前没有任何道路,如果要将 nn 个村庄划分为 kk 个区,请求出最少的修路成本?

输入

第一行有三个数 n,m,kn,m,k(1n1000,1m10000,1k101≤n≤1000,1≤m≤10000,1≤k≤10)

接下来m行每行三个数 x,y,lx,y,l ,表示编号为 xx 村到编号为 yy 村修路的费用。(1x,yn,0l<100001≤x,y≤n,0≤l < 10000)

测试数据保证 xx 村到 yy 村的道路只有 11 条。

输出

输出一个整数,代表最少的修路成本。

如果按照当前的调研数据,无法将 nn 个村庄划分为 kk 个区,请输出No Answer。(比如,假设有 55 个村庄,只有 22 条道路的建设数据,是无法将 55 个村庄划分为 22 个区或者 11 个区的)。

样例

3 1 2
1 2 1
1

说明

样例解释

11 号村到 22 号村修路成本为 11

样例要求将 33 个村划分为 22 个区,只需要修 11 条路就可以将 22 个村合并为 11 个区,加上剩余的 11 个村,形成了 22 个区。

因此,样例中只需要在 11 号村和 22 号村之间修路,就可以实现划分 22 个区的目标。

来源

并查集 图论