📄 00000.cpp
字号:
//#include "Match.h"
//#include "Matchz.h"
#include "o_time.h"
#include <Windows.h>
//#include "qiong.h"
#include "HungaryMatch.h"
//#include "PSOMatch.h"
FILE *fp;
int ttttt = 0;
void test()
{
srand(GetTickCount());
double timezhb,timeR ;
Time zhb;
Time Qi;
int NOOfRobot =17;
int NOOfPoint =17;
double Cost[19][19] = {931,395,495,559,153,359,670,262,675,584,232,159,505,212,776,470,59,
129,743,470,419,613,404,73,505,989,687,629,659,676,116,386,646,773,
452,640,250,359,930,145,99,504,214,595,568,94,75,672,177,263,170,
609,902,159,240,577,352,196,610,816,876,162,226,475,154,951,357,16,
669,890,332,729,766,773,461,81,705,693,10,185,189,698,588,385,223,
696,616,438,904,297,937,394,861,825,64,43,602,961,314,397,860,136,
638,615,714,222,629,474,386,710,462,92,464,525,463,921,619,809,345,
447,387,720,769,48,658,933,249,121,372,120,56,242,842,799,111,162,
539,51,990,659,337,159,680,588,656,273,886,976,470,388,774,790,636,
795,645,407,679,494,964,900,700,206,364,221,286,674,599,815,763,671,
436,173,90,711,122,193,766,458,603,828,880,117,909,989,272,613,70,
955,106,835,510,111,646,587,32,512,835,629,113,906,63,248,207,449,
260,965,200,348,241,401,718,550,480,115,713,504,790,85,944,105,665,
432,298,927,43,887,394,515,836,860,235,624,925,523,328,259,62,236,
902,872,837,587,176,185,995,870,889,396,190,665,751,42,763,62,175,
668,813,540,834,413,284,944,992,49,690,713,568,816,675,515,264,568,
849,338,72,486,223,761,551,15,332,987,619,592,265,993,265,735,380
};
int num = NOOfRobot>=NOOfPoint?NOOfRobot:NOOfPoint;
int i, j;
/*for( i=0; i<NOOfRobot;i++ )
for( j=0; j<NOOfPoint;j++ )
Cost[i][j] = AverageRandom(100,10231545612132310);*/
/*Qiong Q(100000000);
for( i=0; i<7;i++ )
for( j=0; j<7;j++ )
Q.cost[i][j] = Cost[i][j];
Qi.start();
Q.He();
Qi.end();
timeR = Qi.time_micro();
*/
HungaryMatch M(NOOfRobot,NOOfPoint,/*DBL_MAX*/50000000000);
for( i=0; i<NOOfRobot;i++ )
for( j=0; j<NOOfPoint;j++ )
M.sb.Cost[i+1][j+1] = Cost[i][j];
zhb.start();
M.match();
zhb.end();
timezhb= zhb.time_micro();
double sum = 0;
for( i=0; i<num;i++ )
{
sum = sum + Cost[i][M.Result[i+1]-1];
}
//double sum1 = 0;
//for( i=0; i<num;i++ )
//{
// sum1 = sum1 + Cost[i][Q.Result[i]];
//}
if(1/*sum > sum1 || timezhb > timeR*/)
{
for( i=0; i<NOOfRobot;i++ )
{
for( j=0; j<NOOfPoint;j++ )
fprintf(fp, "%f\t",Cost[i][j]);
fprintf(fp,"\n");
}
fprintf(fp,"\n");
fprintf(fp,"%f\tzhb\t%f\t%d",timezhb,sum,M.count);
// fprintf(fp,"%f\tReal\t%f\t%f\n",timeR,Q.Min,sum1);
for( i=0; i<NOOfRobot;i++ )
fprintf(fp, "%d\t",M.Result[i+1]-1);
fprintf(fp,"\n");
/*for( i=0; i<NOOfRobot;i++ )
fprintf(fp, "%d\t",Q.Result[i]);*/
fprintf(fp,"\n\n");
ttttt++;
}
}//main
void main()
{
fp =fopen("bbb2.text","w");
fprintf(fp,"test");
for(int i = 0; i <1; i++)
{
test();
}
fprintf(fp,"%d",ttttt);
fclose(fp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -