#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define N 5
int cost[N][N], list[N];
void pp(int *a, int i, int j)
{
for (int ii = 0; ii < i; ++ii) {
for (int jj = 0; jj < j; ++jj)
}
}
int visitedCheck(int n)
{
// printf("n = %d\n", n);
// pp(list, 1, 5);
for (int i = 1; i < N; ++i)if (list[i] == n)return 1;
return 0;
}
int main(void)
{
// test data making
for (int i = 0; i < N; ++i)
for (int j = 0; j < i; ++j)
cost
[i
][j
] = cost
[j
][i
] = (rand() % 20 + 2); // pp(*cost, 5, 5);
for (int i = 0; i < N; ++i)list[i] = 0;
int pos = 0;
for (int seq = 1; seq < N; ++seq) {
int min = INT_MAX, nextPos = pos;
for (int i = 1; i < N; ++i) {
if (!(visitedCheck(i)) && (min > cost[pos][i])) {
min = cost[pos][i];
nextPos = i;
}
}
list[seq] = nextPos;
pos = nextPos;
}
pp(list, 1, 5);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGxpbWl0cy5oPgojZGVmaW5lIE4gNQoKaW50IGNvc3RbTl1bTl0sIGxpc3RbTl07Cgp2b2lkIHBwKGludCAqYSwgaW50IGksIGludCBqKQp7CiAgZm9yIChpbnQgaWkgPSAwOyBpaSA8IGk7ICsraWkpIHsKICAgIGZvciAoaW50IGpqID0gMDsgamogPCBqOyArK2pqKQogICAgICBwcmludGYoIiUxMmQiLCAqYSsrKTsKICAgIHByaW50ZigiXG4iKTsKICB9Cn0KCmludCB2aXNpdGVkQ2hlY2soaW50IG4pCnsKICAvLyBwcmludGYoIm4gPSAlZFxuIiwgbik7CiAgLy8gcHAobGlzdCwgMSwgNSk7CiAgZm9yIChpbnQgaSA9IDE7IGkgPCBOOyArK2kpaWYgKGxpc3RbaV0gPT0gbilyZXR1cm4gMTsKICByZXR1cm4gMDsKfQoKaW50IG1haW4odm9pZCkKewogIC8vIHRlc3QgZGF0YSBtYWtpbmcKICBmb3IgKGludCBpID0gMDsgaSA8IE47ICsraSkKICAgIGZvciAoaW50IGogPSAwOyBqIDwgaTsgKytqKQogICAgICBjb3N0W2ldW2pdID0gY29zdFtqXVtpXSA9IChyYW5kKCkgJSAyMCArIDIpOwogIC8vIHBwKCpjb3N0LCA1LCA1KTsKCiAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyArK2kpbGlzdFtpXSA9IDA7CgogIGludCBwb3MgPSAwOwogIGZvciAoaW50IHNlcSA9IDE7IHNlcSA8IE47ICsrc2VxKSB7CiAgICBpbnQgbWluID0gSU5UX01BWCwgbmV4dFBvcyA9IHBvczsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgTjsgKytpKSB7CiAgICAgIGlmICghKHZpc2l0ZWRDaGVjayhpKSkgJiYgKG1pbiA+IGNvc3RbcG9zXVtpXSkpIHsKICAgICAgICBtaW4gPSBjb3N0W3Bvc11baV07CiAgICAgICAgbmV4dFBvcyA9IGk7CiAgICAgIH0KICAgIH0KICAgIGxpc3Rbc2VxXSA9IG5leHRQb3M7CiAgICBwb3MgPSBuZXh0UG9zOwogIH0KICBwcmludGYoInJlc3VsdCA9ICIpOwogIHBwKGxpc3QsIDEsIDUpOwogIHJldHVybiAwOwp9Cg==