📄 llkmatrix.java
字号:
else
{
matrix[i][y] = RUConn;
}
}
else
{
for (int c = x + 1; c <= i; c++)
{
matrix[c][y] = HConn;
}
if (y < yy)
{
matrix[i][y] = LDConn;
}
else
{
matrix[i][y] = LUConn;
}
}
if (xx > i)
{
for (int c = i; c < xx; c++)
{
matrix[c][yy] = HConn;
}
if (y < yy)
{
matrix[i][yy] = RUConn;
}
else
{
matrix[i][yy] = RDConn;
}
}
else
{
for (int c = xx + 1; c <= i; c++)
{
matrix[c][yy] = HConn;
}
if (y < yy)
{
matrix[i][yy] = LUConn;
}
else
{
matrix[i][yy] = LDConn;
}
}
for (int c = y1 + 1; c < y2; c++)
{
matrix[i][c] = VConn;
}
}
return Score3;
}
}
}
}
}
a = 0;
for (i = 0; i < x; i++)
{
a += matrix[i][y];
}
if ( - a == x)
{
a = 0;
for (i = 0; i < xx; i++)
{
a += matrix[i][yy];
}
if ( - a == xx)
{
if (mark)
{
for (i = 0; i < x; i++)
{
matrix[i][y] = HConn;
}
if (x == 0)
{
matrix[0][y] = - matrix[0][y] + SConn + HConn * 100;
}
for (i = 0; i < xx; i++)
{
matrix[i][yy] = HConn;
}
if (xx == 0)
{
matrix[0][yy] = - matrix[0][yy] + SConn + HConn * 100;
}
}
return Score3;
}
}
a = 0;
for (i = x + 1; i < HSize; i++)
{
a += matrix[i][y];
}
if ( - a == HSize - x - 1)
{
a = 0;
for (i = xx + 1; i < HSize; i++)
{
a += matrix[i][yy];
}
if ( - a == HSize - xx - 1)
{
if (mark)
{
for (i = x + 1; i < HSize; i++)
{
matrix[i][y] = HConn;
}
if (x == HSize - 1)
{
matrix[x][y] = - matrix[x][y] + SConn + HConn * 100;
}
for (i = xx + 1; i < HSize; i++)
{
matrix[i][yy] = HConn;
}
if (xx == HSize - 1)
{
matrix[xx][yy] = - matrix[xx][yy] + SConn + HConn *
100;
}
}
return Score3;
}
}
int x1;
int x2;
if (x > xx)
{
x1 = xx;
x2 = x;
}
else
{
x1 = x;
x2 = xx;
}
i = y;
for (int s = 0; Math.abs(s) < VSize;)
{
s = - s;
if (s >= 0)
{
s++;
}
i = y + s;
if (i < VSize && i >= 0)
{
a = 0;
for (int j = x1; j <= x2; j++)
{
a += matrix[j][i];
}
if ( - a == (x2 - x1) + 1)
{
a = 0;
if (y > i)
{
for (int c = i; c < y; c++)
{
a += matrix[x][c];
}
}
else
{
for (int c = y + 1; c <= i; c++)
{
a += matrix[x][c];
}
}
if ( - a == Math.abs(y - i))
{
a = 0;
if (yy > i)
{
for (int c = i; c < yy; c++)
{
a += matrix[xx][c];
}
}
else
{
for (int c = yy + 1; c <= i; c++)
{
a += matrix[xx][c];
}
}
if ( - a == Math.abs(yy - i))
{
if (mark)
{
if (y > i)
{
for (int c = i; c < y; c++)
{
matrix[x][c] = VConn;
}
if (x < xx)
{
matrix[x][i] = RDConn;
}
else
{
matrix[x][i] = LDConn;
}
}
else
{
for (int c = y + 1; c <= i; c++)
{
matrix[x][c] = VConn;
}
if (x < xx)
{
matrix[x][i] = RUConn;
}
else
{
matrix[x][i] = LUConn;
}
}
if (yy > i)
{
for (int c = i; c < yy; c++)
{
matrix[xx][c] = VConn;
}
if (x < xx)
{
matrix[xx][i] = LDConn;
}
else
{
matrix[xx][i] = RDConn;
}
}
else
{
for (int c = yy + 1; c <= i; c++)
{
matrix[xx][c] = VConn;
}
if (x < xx)
{
matrix[xx][i] = LUConn;
}
else
{
matrix[xx][i] = RUConn;
}
}
for (int c = x1 + 1; c < x2; c++)
{
matrix[c][i] = HConn;
}
}
return Score3;
}
}
}
}
}
a = 0;
for (i = 0; i < y; i++)
{
a += matrix[x][i];
}
if ( - a == y)
{
a = 0;
for (i = 0; i < yy; i++)
{
a += matrix[xx][i];
}
if ( - a == yy)
{
if (mark)
{
for (i = 0; i < y; i++)
{
matrix[x][i] = VConn;
}
if (y == 0)
{
matrix[x][0] = - matrix[x][0] + SConn + VConn * 100;
}
for (i = 0; i < yy; i++)
{
matrix[xx][i] = VConn;
}
if (yy == 0)
{
matrix[xx][0] = - matrix[xx][0] + SConn + VConn * 100;
}
}
return Score3;
}
}
a = 0;
for (i = y + 1; i < VSize; i++)
{
a += matrix[x][i];
}
if ( - a == VSize - y - 1)
{
a = 0;
for (i = yy + 1; i < VSize; i++)
{
a += matrix[xx][i];
}
if ( - a == VSize - yy - 1)
{
if (mark)
{
for (i = y + 1; i < VSize; i++)
{
matrix[x][i] = VConn;
}
if (y == VSize - 1)
{
matrix[x][y] = - matrix[x][y] + SConn + VConn * 100;
}
for (i = yy + 1; i < VSize; i++)
{
matrix[xx][i] = VConn;
}
if (yy == VSize - 1)
{
matrix[xx][yy] = - matrix[xx][yy] + SConn + VConn *
100;
}
}
return Score3;
}
}
return 0;
}
public void initMatrix(int hs, int vs)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -