だから私は次のようなグラフを持っているとしましょう
6 7
1 2 -2
2 3 -1
3 1 -4
3 4 -2
3 5 -3
6 4 -1
6 5 -4
ここで、最初の行はそれぞれノードの数とエッジの数を示し、残りはエッジと重みを読み取ります。このグラフから入力を読み取る方法を知っています。
私の質問は、最初の行でノードの数 (または何か) を指定せずに、このグラフのエッジと重みをどのように読み取るかです。たとえば、同じことを行うには、このグラフをどのように読み取るか...
1 4 -4
2 3 3
1 2 -2
3 4 -2
2 1 1
ありがとう!
Here is my current code
FILE *fin = fopen(argv[1], "r");
fscanf(fin, "%d", &n);
e = 0;
for (i = 0; i < n; ++i)
for (j = 0; j < n; ++j) {
fscanf(fin, "%d", &w);
if (w != 0) {
edges[e].u = i;
edges[e].v = j;
edges[e].w = w;
++e;
}
}