Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int lengths[100];
- save = 0;
- find_path(graph1, 0, D->position, m, &lengths[5]);
- find_path(graph1, D->position, P1->position, m, &lengths[51]);
- find_path(graph1, D->position, P2->position, m, &lengths[52]);
- find_path(graph1, D->position, P3->position, m, &lengths[53]);
- find_path(graph1, P1->position, P2->position, m, &lengths[12]);
- find_path(graph1, P1->position, P3->position, m, &lengths[13]);
- find_path(graph1, P2->position, P3->position, m, &lengths[23]);
- lengths[21] = lengths[12];
- lengths[31] = lengths[13];
- lengths[32] = lengths[23];
- if (G->exist) {
- find_path(graph1, 0, G->position, m, &lengths[4]);
- find_path(graph1, D->position, G->position, m, &lengths[54]);
- find_path(graph1, P1->position, G->position, m, &lengths[14]);
- find_path(graph1, P2->position, G->position, m, &lengths[24]);
- find_path(graph1, P3->position, G->position, m, &lengths[34]);
- find_path(graph2, G->position, D->position, m, &lengths[46]);
- find_path(graph2, G->position, P1->position, m, &lengths[47]);
- find_path(graph2, G->position, P2->position, m, &lengths[48]);
- find_path(graph2, G->position, P3->position, m, &lengths[49]);
- find_path(graph2, D->position, P1->position, m, &lengths[67]);
- find_path(graph2, D->position, P2->position, m, &lengths[68]);
- find_path(graph2, D->position, P3->position, m, &lengths[69]);
- find_path(graph2, P1->position, P2->position, m, &lengths[78]);
- find_path(graph2, P1->position, P3->position, m, &lengths[79]);
- find_path(graph2, P2->position, P3->position, m, &lengths[89]);
- lengths[87] = lengths[78];
- lengths[97] = lengths[79];
- lengths[98] = lengths[89];
- }
- char* permutation[]= {"5123", "5132", "5213", "5231", "5312", "5321", "46789", "46798", "46879", "46897", "46978", "46987", "54789", "54798", "54879", "54897", "54978", "54987", "51489", "51498", "52479", "52497", "53478", "53487", "51249", "51348", "52149", "52347", "53148", "53247"};
- unsigned int full_lengths[30] = {0};
- int pre;
- for (i = 0; i < 30; i++) {
- pre = 0;
- for (j = 0; j < strlen(permutation[i]); j++) {
- if ((permutation[i][j] == '4') && (G->exist == 0)) {
- full_lengths[i] = 1000000;
- } else {
- full_lengths[i] += lengths[pre*10 + (int)(permutation[i][j]) - 48];
- pre = (int)permutation[i][j] - 48;
- }
- }
- }
- int min = 1000000;
- for (i = 0; i < 30; i++) {
- if (full_lengths[i] < min) {
- j = i;
- min = full_lengths[i];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement