Problem:
三目並べ

3 × 3 の盤面の三目並べを考えましょう。三目並べは 2 人で行う対戦ゲームです。先攻後攻を決め、一人は黒石、一人は白石を打ちます。盤面に石を交互に一つずつ置いていき、縦横斜めのいずれかの方向に先に 3 つ自分の石を並べた人が勝ちとなります。

盤面の情報を入力とし、勝敗の判定を行い、黒が勝ちの場合は「b」、白が勝ちの場合は「w」、どちらもそろっていない場合は「NA」と出力するプログラムを作成してください。 盤面の情報は、3行3列の文字列で構成されます。「b」は黒石、「w」は白石、「+」(半角プラ
ス)は何も置かれていない状況を表します。ただし、同時に黒が3つ、白が3つ並ぶことはありませ
ん。

Input

複数のデータセットの並びが入力として与えられます。入力の終わりはゼロひとつの行で示されます。
各データセットは以下の形式で与えられます。

board1
board2
board3

i 行目に盤面の i 行目の情報を表す文字列 boardi が与えられます。

データセットの数は 50 を超えません。

Output

データセット毎に、「b」、「w」、「NA」のいずれかを１行に出力します。

Sample Input

bbw
wbw
+b+
bwb
wbw
wbw
0

Output for the Sample Input

b
NA

Solution in C# (judge verdict: Wrong Answer)

using System;

namespace AOJ.Volume1
{
    public class BlackAndWhite
    {
        public static int Main()
        {
            while (true)
            {
                string input = Console.ReadLine();
                if(input == "0") { break; }

                var board = new char[3, 3];
                for(int i = 0; i < 3; i++)
                {
                    if (i > 0) { input = Console.ReadLine(); }
                    for(int j = 0; j < 3; j++) { board[i, j] = input[j]; }
                }

                // ?¨?
                string winner = "NA";
                for (int i = 0; i < 3; i++)
                {
                    char chk = board[i, 0];
                    if (board[i, 1] == chk && board[i, 2] == chk) { winner = chk.ToString(); }
                }
                // ???
                if (winner == "NA")
                {
                    for(int i = 0; i < 3; i++)
                    {
                        char chk = board[0, i];
                        if (board[1, i] == chk && board[2, i] == chk) { winner = chk.ToString(); }
                    }
                }
                // ??????
                if (winner == "NA")
                {
                    char chk = board[1, 1];
                    if(board[0,0]==chk && board[2, 2] == chk) { winner = chk.ToString(); }
                    if(board[0,2]==chk && board[2, 0] == chk) { winner = chk.ToString(); }
                }

                Console.WriteLine(winner);
            }
            return 0;
        }
    }
}