<img src="https://img-blog.csdn.net/20161007192806825?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
//方法一
<span style="font-family: Arial, Helvetica, sans-serif;"> public static int IsSolved(int[,] b)</span></span>
{
var c012 = new int[] { 0, 1, 2 };
var s = string.Join(",", c012.Select(x => string.Join("", c012.Select(y => b[x, y])))) + ","
+ string.Join(",", c012.Select(x => string.Join("", c012.Select(y => b[y, x])))) + ","
+ string.Join("", c012.Select(x => b[x, x])) + ","
+ string.Join("", c012.Select(x => b[2 - x, x]));
return s.Contains("111") ? 1 : s.Contains("222") ? 2 : !s.Contains("0") ? 0 : -1;
}
//方法二
//public static int IsSolved(int[,] board)
//{
// int d1 = 1, d2 = 1;
// bool empty = false;
// for (int i = 0; i < 3; i++)
// {
// d1 *= board[i, i];
// d2 *= board[2 - i, i];
// int column = 1;
// int row = 1;
// for (int j = 0; j < 3; j++)
// {
// column *= board[i, j];
// row *= board[j, i];
// }
// if (column == 1 || row == 1) return 1;
// if (column == 8 || row == 8) return 2;
// if (column == 0 || row == 0) empty = true;
// }
// if (d1 == 1 || d2 == 1) return 1;
// if (d1 == 8 || d2 == 8) return 2;
// if (empty) return -1;
// return 0;
//}