2 ///////////////////////////////////////////////////////////////////////////
3 // This program is free software: you can redistribute it and/or modify //
4 // it under the terms of the version 3 of the GNU General Public License //
5 // as published by the Free Software Foundation. //
7 // This program is distributed in the hope that it will be useful, but //
8 // WITHOUT ANY WARRANTY; without even the implied warranty of //
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
10 // General Public License for more details. //
12 // You should have received a copy of the GNU General Public License //
13 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
15 // Written by and Copyright (C) Francois Fleuret //
16 // Contact <francois.fleuret@idiap.ch> for comments & bug reports //
17 ///////////////////////////////////////////////////////////////////////////
27 int main(int argc, char **argv) {
28 int nb_locations = 20;
29 int nb_time_steps = 20;
31 int nb_vertices = nb_time_steps * nb_locations + 2;
32 int nb_edges = 2 * nb_locations + (nb_time_steps - 1) * (nb_locations * nb_locations);
34 int sink = nb_vertices - 1;
36 cout << nb_vertices << " " << nb_edges << endl;
37 cout << source << " " << sink << endl;
40 for(int l = 0; l < nb_locations; l++) {
49 for(int t = 0; t < nb_time_steps - 1; t++) {
50 for(int l = 0; l < nb_locations; l++) {
51 for(int m = 0; m < nb_locations; m++) {
52 cout << 1 + (t * nb_locations + l)
54 << 1 + ((t+1) * nb_locations + m)
62 for(int l = 0; l < nb_locations; l++) {
63 cout << 1 + ((nb_time_steps-1) * nb_locations + l)