121 |
121 |
122 if (mincostflow) { |
122 if (mincostflow) { |
123 Digraph digraph; |
123 Digraph digraph; |
124 DoubleArcMap lower(digraph), capacity(digraph), cost(digraph); |
124 DoubleArcMap lower(digraph), capacity(digraph), cost(digraph); |
125 DoubleNodeMap supply(digraph); |
125 DoubleNodeMap supply(digraph); |
126 readDimacs(is, digraph, lower, capacity, cost, supply); |
126 readDimacsMin(is, digraph, lower, capacity, cost, supply); |
127 DigraphWriter<Digraph>(digraph, os). |
127 DigraphWriter<Digraph>(digraph, os). |
128 nodeMap("supply", supply). |
128 nodeMap("supply", supply). |
129 arcMap("lower", lower). |
129 arcMap("lower", lower). |
130 arcMap("capacity", capacity). |
130 arcMap("capacity", capacity). |
131 arcMap("cost", cost). |
131 arcMap("cost", cost). |
132 run(); |
132 run(); |
133 } else if (maxflow) { |
133 } else if (maxflow) { |
134 Digraph digraph; |
134 Digraph digraph; |
135 Node s, t; |
135 Node s, t; |
136 DoubleArcMap capacity(digraph); |
136 DoubleArcMap capacity(digraph); |
137 readDimacs(is, digraph, capacity, s, t); |
137 readDimacsMax(is, digraph, capacity, s, t); |
138 DigraphWriter<Digraph>(digraph, os). |
138 DigraphWriter<Digraph>(digraph, os). |
139 arcMap("capacity", capacity). |
139 arcMap("capacity", capacity). |
140 node("source", s). |
140 node("source", s). |
141 node("target", t). |
141 node("target", t). |
142 run(); |
142 run(); |
143 } else if (shortestpath) { |
143 } else if (shortestpath) { |
144 Digraph digraph; |
144 Digraph digraph; |
145 Node s; |
145 Node s; |
146 DoubleArcMap capacity(digraph); |
146 DoubleArcMap capacity(digraph); |
147 readDimacs(is, digraph, capacity, s); |
147 readDimacsSp(is, digraph, capacity, s); |
148 DigraphWriter<Digraph>(digraph, os). |
148 DigraphWriter<Digraph>(digraph, os). |
149 arcMap("capacity", capacity). |
149 arcMap("capacity", capacity). |
150 node("source", s). |
150 node("source", s). |
151 run(); |
151 run(); |
152 } else if (capacitated) { |
152 } else if (capacitated) { |
153 Digraph digraph; |
153 Digraph digraph; |
154 DoubleArcMap capacity(digraph); |
154 DoubleArcMap capacity(digraph); |
155 readDimacs(is, digraph, capacity); |
155 readDimacsMax(is, digraph, capacity); |
156 DigraphWriter<Digraph>(digraph, os). |
156 DigraphWriter<Digraph>(digraph, os). |
157 arcMap("capacity", capacity). |
157 arcMap("capacity", capacity). |
158 run(); |
158 run(); |
159 } else if (plain) { |
159 } else if (plain) { |
160 Digraph digraph; |
160 Digraph digraph; |
161 readDimacs(is, digraph); |
161 readDimacsMat(is, digraph); |
162 DigraphWriter<Digraph>(digraph, os).run(); |
162 DigraphWriter<Digraph>(digraph, os).run(); |
163 } else { |
163 } else { |
164 cerr << "Invalid type error" << endl; |
164 cerr << "Invalid type error" << endl; |
165 return -1; |
165 return -1; |
166 } |
166 } |