Red de conocimiento informático - Programación de la red - Código fuente del diseño del curso

Código fuente del diseño del curso

# incluir ltstdio.h gt

int s[100], t = 0;

void BA(int a[4], int b[4]);

void Xu(int a[4])

{

int i, j, k

for(I = 0; i lt3; i )for(j = I 1;j lt4;j )if(a[I] lt;a[j])

{

k = a[I];

a[I]= a[j];

a[j]= k

}

}

int f(int a[4], int x)

{

int i, j=0, b[4];

para (I = 0; a[I]; i )

{

si(i==x)continuar;

b[j]= a[ I];

Si (j amp ampb[j]==b[j-1]-1) devuelve 1;

j;

}

Devuelve 0;

}

Entero g()

{

int i, r;

p>

for(I = t-1;i gt= t/2;i-=2)

{

for(r = 0 ; r ltt-I ;r )if(s[t-r]!= s[I-r])romper;

if(r==t-i)romper;

}

si (Iltt/2) devuelve 0;

de lo contrario, devuelve 1;

}

void huan(int a[4], int b [4], int x)

{

int I;

for(I = 0; a[i]!= x; i);

a[I]= 0;

b[3]= x;

Xu (1);

Xu (2) ;

p>

}

nulo AB(int a[4], int b[4])

{

int I;

for(I = 0;a[I-1]| | I = = 0;i)

{

si(f (a,I))continuar;

s[t]= a[I];

if(g()) continuar

huan(a); , b, s[t]) ;

t ;

si(a[0]= = 0)romper;

BA(A, B) ;

if(a[0]= = 0)romper;

t-;

Huan(b, a, s[t]);

}

}

anular BA(int a[4], int b[4])

{

int I;

for(I = 0;b[I-1]| | I = = 0;i)

{

if( f(b,I))continuar ;

s[t]= b[I];

if(g())continuar;

huan( b,a,s[t] );

t

AB(a, b)

if(a[0]= = 0) romper;

t-;

Huan(a, b, s[t]);

>

}

}

void main()

{

int i, a[4]={3, 2, 1}, b[4]= { 0 };

AB(a, b

for(I = 0; iltt; i )

{

If(i2)printf("Agricultores del Banco B al Banco A:");

Else printf("Agricultores del Banco A al Banco B:" );

Cambiar

{

Caso 0: printf(" nada "); Interrupción;

Caso 1: printf(" "Liderar el lobo a través del río"); Break;

Caso 2: printf ("Conduce a las ovejas a través del río"); Break;

Caso 3: printf ("Trae la comida al otro lado del río" ); romper;

}

printf(" \ n ");

}

}