1 クラスソリューション: 2 デフ三目並べ(自己、移動:リスト[リスト[ INT ]]) - > STR: 3 N = LEN(移動) 4 ROWA = [ 0、0、0 ] 5 rowB = [ 0、0、0 ] 6 で、colA = [ 0、0、0 ] 7 COLB = [ 0、0、0 ] 8 diaA、DIAB、a_diaA、a_diaB = 0、0、0、0 9 用 I における範囲(N): 10 のx、yは移動[I] [= 0 ]、移動[I] [ 1 ] 11 であれば、I%2 == 0 #turn A: 12 ROWA [Xを] + = 1 13 で、colA [Y] + = 1 14 であれば、X == Y: 15 diaA + = 1 16 であれば X + Y == 2 : 17 a_diaA + = 1 18 他:#turn B 19 rowB [X] + = 1 20 COLB [Y] + = 1 21 であれば X == Y: 22 DIAB + = 1 23 であれば X + Y == 2 : 24 a_diaB + = 1 25 であれば diaA = = 3又はa_diaA == 3 : 26 リターン ' A ' 27 なら DIAB == 3又はa_diaB == 3 : 28 リターン ' B ' 29 のための J における範囲(3 ): 30 なら ROWA [J] == 3またはで、colA [J] == 3 : 31 リターン ' A ' 32 なら rowB [J] == 3又はCOLB [J] == 3 : 33 リターン ' B ' 34 場合 N == 9 : 35 リターンは ' 引く' 36 リターン ' 保留' 37 38 39
変数は、メモリの行、列、対角線、反対角線複数の情報。