luogu-dev / cyaron

CYaRon: Yet Another Random Olympic-iNformatics test data generator
GNU Lesser General Public License v3.0
1.35k stars 168 forks source link

希望加入多边权图的生成 #82

Open zgxkbtl opened 4 years ago

zgxkbtl commented 4 years ago

有的题目的图会有多个边权。

weilycoder commented 4 days ago

实际上目前的代码可以实现

import random
from cyaron.graph import *

g = Graph.graph(10, 10, weight_gen = lambda: (random.randint(0, 1), random.randint(0, 1)))
print(g.to_str(output = lambda edge: "{} {} {}".format(edge.start, edge.end, edge.weight)))

输出可能是:

1 8 (0, 1)
2 7 (1, 0)
2 8 (0, 1)
2 2 (1, 0)
3 8 (1, 1)
4 7 (0, 0)
5 10 (0, 0)
6 10 (0, 0)
6 6 (1, 1)
7 9 (0, 1)