Red de conocimientos turísticos - Información de alquiler - La coloración del gráfico tiene 4 vértices. Se dan tres colores. ¿Cómo colorear los 4 vértices? ¿Cuántos métodos de coloración existen para que los vértices con relaciones de bordes conectados tengan diferentes colores?

La coloración del gráfico tiene 4 vértices. Se dan tres colores. ¿Cómo colorear los 4 vértices? ¿Cuántos métodos de coloración existen para que los vértices con relaciones de bordes conectados tengan diferentes colores?

Instrucciones de diseño:

1 Los cuatro vértices están representados por 0,1,2,3 y los tres colores están representados por A, B y C.

2 Resultado de salida 0 - ABAC, lo que indica que el esquema de coloración desde el vértice 0 hasta las direcciones 1, 2 y 3 es 0-A, 1-B, 2-A, 3-C. Hay aristas conectadas pero los vértices son de diferentes colores.

3 Utilice el carácter c[4][5]={{'A','B','A','C','\0'},{'B','A' ,'B','C','\0'},{'C','A','C','B','\0'}};

Primero proporcione la conexión Hay tres soluciones básicas con diferentes colores de borde para simplificar el problema.

4 Utilice un bucle triple para simular los tres eventos de determinar el primer punto, generar el esquema y cambiar el esquema de color.

5 Utilice

t=c[i][i];c[i][i]=c[i][(i+1)%4];c[ i][(i+1)%4]=c[i][(i+2)%4];c[i][(i+2)%4]=c[i][(i+3) %4];c[i][(i+3)%4]=t;

Implemente la conversión ABAC-->BACA, resolviendo inteligentemente el problema algorítmico de 'conectar bordes con diferentes colores'.

El programa es el siguiente:

#include

main(void)

{

int i,j,k,n=0;

char c[4][5]={{'A','B','A','C','\ 0'} ,{'B','A','B','C','\0'},{'C','A','C','B','\0'}} ;

char t;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

{

for(k=0;k<4;k++)

{ printf("%d -- %s\t",k,c [i] ); /*(k+3)%4,c[(k+3)%4]);*/

n++; n") ;

t=c[i][i];c[i][i]=c[i][(i+1)%4];c[i][(i +1) %4]=c[i][(i+2)%4];c[i][(i+2)%4]=c[i][(i+3)%4];c [i] [(i+3)%4]=t;

}

printf("\n total = %d",n);

getchar( );

}