Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 970 byte
#include <stdio.h>
#define N 14
#define M 7
char A[N];
long XX = 0;
void Init (void);
int Next (void);
int Search (void);
int main (void) {
printf("<-- Start -->\n");
Init();
do
if (Search())
XX++;
while (Next());
printf("%ld\n", XX);
return 0;
}
void Init (void) {
for (int I = 0; I < N; I++)
A[I] = I/2 + 1;
}
int Next (void) {
int X, Y, I, J, Min;
for (X = N - 2; X >= 0 && A[X + 1] <= A[X]; X--);
if (X == -1)
return 0;
Y = X + 1;
Min = A[Y];
for (I = X + 2; I < N; I++)
if (A[I] <= Min && A[I] > A[X]) {
Y = I;
Min = A[Y];
}
A[Y] = A[X];
A[X] = Min;
for (I = X + 1, J = N - 1; I < J; I++, J--) {
Min = A[I];
A[I] = A[J];
A[J] = Min;
}
return 1;
}
int Search (void) {
int I, J, B;
for (I = 1; I <= M; I++) {
for (J = 0; A[J] != I; J++);
B = 0;
for (J++; A[J] != I; J++)
B++;
if (B != I)
return 0;
}
return 1;
}