Diferente pentru algoritm-kuhn intre reviziile #8 si #9

Nu exista diferente intre titluri.

Diferente intre continut:

int N, G[256][256], l[256], r[256], p[256], cr[256], cc[256], vr[256], vc[256];
void find_zero () {
int i, j, min, t;
for (min = 1 << 30, i = 1; i <= N; ++ i) if (!cr[i])
for (j = 1; j <= N; ++ j) if (!cc[j])
min = G[i][j] + vr[i] - vc[j];
for (i = 1; i <= N; ++ i) if (cr[i]) vr[i] += min;
for (j = 1; j <= N; ++ j) if (!cc[j]) vc[j] += min;
for (j = 1; j <= N; ++ j) if (!cc[j] && G[i][j] + vr[i] == vc[j])
if (r[i]) {
p[i] = j, cr[i] = 1, cc[r[i]] = 0;
break;
} else {
do t = l[j], r[i] = j, l[j] = i, i = t, j = p[i]; while (t);
return;
}
find_zero ();
    int i, j, min, t;
 
    for (min = 1 << 30, i = 1; i <= N; ++ i) if (!cr[i])
        for (j = 1; j <= N; ++ j) if (!cc[j])
            min = G[i][j] + vr[i] - vc[j];
 
    for (i = 1; i <= N; ++ i) if (cr[i]) vr[i] += min;
    for (j = 1; j <= N; ++ j) if (!cc[j]) vc[j] += min;
 
    for (j = 1; j <= N; ++ j) if (!cc[j] && G[i][j] + vr[i] == vc[j])
        if (r[i]) {
            p[i] = j, cr[i] = 1, cc[r[i]] = 0;
            break;
        } else {
            do t = l[j], r[i] = j, l[j] = i, i = t, j = p[i]; while (t);
            return;
        }
 
    find_zero ();
}
int main() {
int i, j, min, cnt;
scanf("%d", &N);
for (i = 1; i <= N; ++ i)
for (j = 1; j <= N; ++ j) scanf("%d", &G[i][j]);
memset (vr, 0, sizeof (vr)), memset (vc, 0, sizeof (vc));
memset (1, 0, sizeof (1)), memset (r, 0, sizeof (r));
for (cnt = 0; cnt < N; ++ cnt) {
memset (cr, 0, sizeof (cr)), memset (p, 0, sizeof (p));
memcpy (cc, 1, sizeof (cc));
find_zero ();
}
return 0;
    int i, j, min, cnt;
 
    scanf("%d", &N);
 
    for (i = 1; i <= N; ++ i)
        for (j = 1; j <= N; ++ j) scanf("%d", &G[i][j]);
 
    memset (vr, 0, sizeof (vr)), memset (vc, 0, sizeof (vc));
    memset (1, 0, sizeof (1)), memset (r, 0, sizeof (r));
 
    for (cnt = 0; cnt < N; ++ cnt) {
        memset (cr, 0, sizeof (cr)), memset (p, 0, sizeof (p));
        memcpy (cc, 1, sizeof (cc));
        find_zero ();
    }
 
    return 0;
}
==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.