Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "hungarian.h"
00024
00025 std::vector< std::vector<int> > array_to_matrix(int* m, int rows, int cols) {
00026 int i,j;
00027 std::vector< std::vector<int> > r;
00028 r.resize(rows, std::vector<int>(cols, 0));
00029
00030 for(i=0;i<rows;i++)
00031 {
00032 for(j=0;j<cols;j++)
00033 r[i][j] = m[i*cols+j];
00034 }
00035 return r;
00036 }
00037
00038
00039 int main() {
00040
00041
00042 int r[3*3] = {20,90,10,60,30,40,90,90, 120};
00043 std::vector< std::vector<int> > m = array_to_matrix(r,3,3);
00044
00045
00046 Hungarian hungarian(m , 3,3, HUNGARIAN_MODE_MINIMIZE_COST) ;
00047
00048
00049
00050
00051 fprintf(stderr, "cost-matrix:");
00052 hungarian.print_cost();
00053
00054
00055 hungarian.solve();
00056
00057
00058 fprintf(stderr, "assignment:");
00059 hungarian.print_assignment();
00060
00061
00062 return 0;
00063 }
00064