33 for(i=0; i<9; i++) v[i] = w[i];
36 for (i=0; i<9; i++) v[i] = 1 - v[i];
39 cn = v[1] - v[1]*v[0]*v[3];
40 cn += v[3] - v[3]*v[6]*v[7];
41 cn += v[5] - v[5]*v[2]*v[1];
42 cn += v[7] - v[7]*v[8]*v[5];
49 for (i=0; i<27; i++) v[i] = w[i];
52 for(i=0; i<27; i++) v[i] = 1 - v[i];
55 n0 = v[13]*v[14] + v[13]*v[12] +
56 v[13]*v[16] + v[13]*v[10] +
57 v[13]*v[22] + v[13]*v[ 4];
59 n1 = v[13]*v[14]*v[10]*v[11] + v[13]*v[14]*v[16]*v[17] +
60 v[13]*v[14]*v[ 4]*v[ 5] + v[13]*v[14]*v[22]*v[23] +
61 v[13]*v[12]*v[10]*v[ 9] + v[13]*v[12]*v[16]*v[15] +
62 v[13]*v[12]*v[ 4]*v[ 3] + v[13]*v[12]*v[22]*v[21] +
63 v[13]*v[10]*v[ 4]*v[ 1] + v[13]*v[10]*v[22]*v[19] +
64 v[13]*v[16]*v[ 4]*v[ 7] + v[13]*v[16]*v[22]*v[25];
66 n2 = v[13]*v[14]*v[10]*v[11]*v[ 4]*v[ 5]*v[ 1]*v[ 2] +
67 v[13]*v[14]*v[10]*v[11]*v[22]*v[23]*v[19]*v[20] +
68 v[13]*v[14]*v[16]*v[17]*v[ 4]*v[ 5]*v[ 7]*v[ 8] +
69 v[13]*v[14]*v[16]*v[17]*v[22]*v[23]*v[25]*v[26] +
70 v[13]*v[12]*v[10]*v[ 9]*v[ 4]*v[ 3]*v[ 1]*v[ 0] +
71 v[13]*v[12]*v[10]*v[ 9]*v[22]*v[21]*v[19]*v[18] +
72 v[13]*v[12]*v[16]*v[15]*v[ 4]*v[ 3]*v[ 7]*v[ 6] +
73 v[13]*v[12]*v[16]*v[15]*v[22]*v[21]*v[25]*v[24];
76 if (c==26) cn = 2 - cn;
90 s = (1-v[ 6])*v[ 3]*v[ 7]*v[ 4]*v[12]*v[15]*v[16] +
91 (1-v[ 8])*v[ 7]*v[ 5]*v[ 4]*v[16]*v[17]*v[14] +
92 (1-v[ 2])*v[ 5]*v[ 1]*v[ 4]*v[14]*v[11]*v[10] +
93 (1-v[ 0])*v[ 1]*v[ 3]*v[ 4]*v[10]*v[ 9]*v[12] +
94 (1-v[24])*v[21]*v[25]*v[22]*v[12]*v[15]*v[16] +
95 (1-v[26])*v[25]*v[23]*v[22]*v[16]*v[17]*v[14] +
96 (1-v[20])*v[23]*v[19]*v[22]*v[14]*v[11]*v[10] +
97 (1-v[18])*v[19]*v[21]*v[22]*v[10]*v[ 9]*v[12];
99 if (s==1)
return false;
109 if (!ret)
return false;
118 for(i=0; i<6; i++) w[i] = 0;
120 if (v[ 1]==1) w[0] = w[1] = 1;
121 if (v[ 3]==1) w[0] = w[2] = 1;
122 if (v[ 5]==1) w[0] = w[3] = 1;
123 if (v[ 7]==1) w[0] = w[4] = 1;
124 if (v[ 9]==1) w[1] = w[2] = 1;
125 if (v[11]==1) w[1] = w[3] = 1;
126 if (v[15]==1) w[2] = w[4] = 1;
127 if (v[17]==1) w[3] = w[4] = 1;
128 if (v[19]==1) w[1] = w[5] = 1;
129 if (v[21]==1) w[2] = w[5] = 1;
130 if (v[23]==1) w[3] = w[5] = 1;
131 if (v[25]==1) w[4] = w[5] = 1;
134 for(i=0; i<6; i++)
if (w[i]==0 && u[i]==1) ret =
false;
143 int mz[6][6], mx[6][6], mm[6][6];
145 mm[0][1] = mm[1][0] = v[ 3];
146 mm[0][2] = mm[2][0] = v[ 7];
147 mm[0][3] = mm[3][0] = v[ 1];
148 mm[0][4] = mm[4][0] = v[ 5];
149 mm[1][2] = mm[2][1] = v[15];
150 mm[1][3] = mm[3][1] = v[ 9];
151 mm[1][5] = mm[5][1] = v[21];
152 mm[2][4] = mm[4][2] = v[17];
153 mm[2][5] = mm[5][2] = v[25];
154 mm[3][4] = mm[4][3] = v[11];
155 mm[3][5] = mm[5][3] = v[19];
156 mm[4][5] = mm[5][4] = v[23];
161 if (i==j) mx[i][i]++;
169 m = m + mm[i][k]*mx[k][j];
176 mz[i][i] = 1 + mz[i][i];
183 m = m + mm[i][k]*mz[k][j];
190 mx[i][i] = 1 + mx[i][i];
197 m = m + mm[i][k]*mx[k][j];
204 mz[i][i] = 1 + mz[i][i];
212 m = m + mm[i][k]*mz[k][j];
218 if (s==0)
return false;