OI 中一点实用的基于 Graphviz 的画图脚本,目前只有画有向图/无向图的功能。
只需要把有向图/无向图按照 OI 中常规的格式放进脚本的输入文件再运行脚本即可得到图片。
有 Python 版本和 C++ 版本,C++ 版本不再维护。
首先安装 Graphviz 和 Python,然后将本仓库 clone 到本地食用。
Python 文件夹的结构如下:
Python:
├─test
└─graph
test
目录里有一点测试用程序,属于是杂物。
graph
目录里的 graph.py
从同目录下的 graph.in
读取输入数据,并生成一张图。输入数据可选有向图或无向图,并支持是否带边权。
graph.in
的格式如下:
tp1 tp2
n m
u1 v1 (w1)
u2 v1 (w2)
...
um vm (wm)
tp1
为 1
表示输入有向图,为 0
表示输入无向图。tp2
为 1
表示有边权,为 0
表示无边权。然后输入 n
,m
表示图的点数和边数。接着输入 m
条边,每行 2 个数表示边的 2 个端点。如果选择带边权则每行输入 3 个数,第 3 个数表示边权。