Void macolor(int R[I,int n, int s) 1234567 1=6;J=1;∥/为区域号,为染色号 0000 000 while(k<=n) 0 { while((J<=4)&&(|<=n) 234567 10 k=1;/k表示已经着色的区域号 10110 0000 000000 while((k<l&&s[k]*RLk=J) k=k+1;=2∥/若不相邻,或若相邻且不重色,对下一个区域判断 IF(K<∥/相邻且重色 1234567 THEN J=J+1=2 234 ELSE{s[]=;=+1;J=1;相邻且不重色 2k 2 I=6,J=2 IF(J>4)THEN{|=-1;J=s[]+1
Void mapcolor(int R[][],int n,int s[]) { …… I=6; J=1; // I为区域号,J为染色号 while ( I<=n) { while(( J<=4)&&(I<=n)) { k=1; // k表示已经着色的区域号 while(( k<I)&&(s[k]R[I,k]!=J)) k=k+1;=2 // 若不相邻,或若相邻且不重色,对下一个区域判断。 IF (K<I) //相邻且重色 THEN J=J+1=2 ELSE{s[I]=J; I=I+1; J=1; }//相邻且不重色 } IF (J>4) THEN { I=I-1; J=s[I]+1 }} } 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 2 3 4 1 2 3 4 5 6 7 I=6,J=2 k=2
Void macolor(int R[I,int n, int s) 1234567 1=6;J=1;∥/为区域号,为染色号 0000 234567 0110 while(k<=n) 000 01 { while((J<=4)&&(|<=n) 000 110 k=1;/k表示已经着色的区域号 101100 0000000 while((k<l&&s[k]*RLk=J) k=k+1;=2∥/若不相邻,或若相邻且不重色,对下一个区域判断。 IF(K<∥/相邻且重色 1234567 THEN J=J+1=3 12234 ELSE{s[]=;=+1;J=1;相邻且不重色 k=2 I=6,J=3 IF(J>4)THEN{|=-1;J=s[]+1
Void mapcolor(int R[][],int n,int s[]) { …… I=6; J=1; // I为区域号,J为染色号 while ( I<=n) { while(( J<=4)&&(I<=n)) { k=1; // k表示已经着色的区域号 while(( k<I)&&(s[k]R[I,k]!=J)) k=k+1;=2 // 若不相邻,或若相邻且不重色,对下一个区域判断。 IF (K<I) //相邻且重色 THEN J=J+1=3 ELSE{s[I]=J; I=I+1; J=1; }//相邻且不重色 } IF (J>4) THEN { I=I-1; J=s[I]+1 }} } 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 2 3 4 1 2 3 4 5 6 7 I=6,J=3 k=2
Void macolor(int R[I,int n, int s) 1234567 1=6;J=1;∥/为区域号,为染色号 000 101 000 while(k<=n { while((J<=4)&&(|<=n) 234567 101 0 10110 000 k=1;/k表示已经着色的区域号 0000000 while((k<l)&&(sk]=Rlk=J)) k=k+1;∥/若不相邻,或若相邻且不重色,对下一个区域判断。 IF(K<∥/相邻且重色 1234567 THEN J=J+1=3 12|2|34□ ELSE{s[]=;=+1;J=1;相邻且不重色 k=1 I=6,J=3 IF(J>4)THEN{|=-1;J=s[]+1
Void mapcolor(int R[][],int n,int s[]) { …… I=6; J=1; // I为区域号,J为染色号 while ( I<=n) { while(( J<=4)&&(I<=n)) { k=1; // k表示已经着色的区域号 while(( k<I)&&(s[k]R[I,k]!=J)) k=k+1; // 若不相邻,或若相邻且不重色,对下一个区域判断。 IF (K<I) //相邻且重色 THEN J=J+1=3 ELSE{s[I]=J; I=I+1; J=1; }//相邻且不重色 } IF (J>4) THEN { I=I-1; J=s[I]+1 }} } 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 2 3 4 1 2 3 4 5 6 7 I=6,J=3 k=1
Void macolor(int R[I,int n, int s) 1234567 1=6;J=1;∥/为区域号,为染色号 0000 234567 0110 while(k<=n) 000 01 { while((J<=4)&&(|<=n) 000 110 k=1;/k表示已经着色的区域号 101100 0000000 while((k<l&&s[k]*RLk=J) k=k+1;=2∥/若不相邻,或若相邻且不重色,对下一个区域判断。 IF(K<∥/相邻且重色 1234567 THEN J=J+1=3 122|34 ELSE{s[]=;=+1;J=1;相邻且不重色 k=2 I=6,J=3 IF(J>4)THEN{|=-1;J=s[]+1
Void mapcolor(int R[][],int n,int s[]) { …… I=6; J=1; // I为区域号,J为染色号 while ( I<=n) { while(( J<=4)&&(I<=n)) { k=1; // k表示已经着色的区域号 while(( k<I)&&(s[k]R[I,k]!=J)) k=k+1;=2 // 若不相邻,或若相邻且不重色,对下一个区域判断。 IF (K<I) //相邻且重色 THEN J=J+1=3 ELSE{s[I]=J; I=I+1; J=1; }//相邻且不重色 } IF (J>4) THEN { I=I-1; J=s[I]+1 }} } 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 2 3 4 1 2 3 4 5 6 7 k=2 I=6,J=3
Void macolor(int R[I,int n, int s) 1234567 1=6;J=1;∥/为区域号,为染色号 0000 234567 0110 while(k<=n) 000 01 { while((J<=4)&&(|<=n) 000 110 k=1;/k表示已经着色的区域号 101100 0000000 while((k<l&&s[k]*RLk=J) k=k+1;=3∥/若不相邻,或若相邻且不重色,对下一个区域判断。 IF(K<∥/相邻且重色 1234567 THEN J=J+1=3 2234 ELSE{s[]=;=+1;J=1;相邻且不重色 k=3I=6,J=3 IF(J>4)THEN{|=-1;J=s[]+1
Void mapcolor(int R[][],int n,int s[]) { …… I=6; J=1; // I为区域号,J为染色号 while ( I<=n) { while(( J<=4)&&(I<=n)) { k=1; // k表示已经着色的区域号 while(( k<I)&&(s[k]R[I,k]!=J)) k=k+1;=3 // 若不相邻,或若相邻且不重色,对下一个区域判断。 IF (K<I) //相邻且重色 THEN J=J+1=3 ELSE{s[I]=J; I=I+1; J=1; }//相邻且不重色 } IF (J>4) THEN { I=I-1; J=s[I]+1 }} } 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 2 3 4 1 2 3 4 5 6 7 I=6,J=3 k=3