JM今天懒得编题面了,于是他直接把题意赤裸裸地甩了出来:
给定一个 n 个点、 m 条边的无向连通图,节点编号为 1,2,...,n ,边的编号为 1,2,...,m ,每条边的长度均为 1 。
设 dist(u, v) 表示图上从节点 u 到节点 v 的最短路径长度。要求在这 m 条边中选择恰好 n−1 条边,将其余边全部删除,使得 sum=∑i=1ndist(1, i) 的值最小。
现在,你需要求出使得 sum 最小的选边方案有多少种,并输出所有的合法方案。输出格式为 b1b2...bm ,其中 bi=1/0 表示编号为 i 的边选或不选。输出时按照01串 b 的字典序从大到小输出。具体可参考输出样例。
当然,在某些情况下,合法的方案数可能会非常大。因此另外给定一个正整数 k ,若合法的方案数超过 k 种,则你需要输出的合法方案数为 k ,并且接下来只输出字典序前 k 大的 k 种合法方案。