예제 #1
0
    //ソルバ
    bool solver(MakingClass[] board)
    {
        //配列コピー
        MakingClass[] sol1 = new MakingClass[Constants.NN];
        MakingClass[] sol2 = new MakingClass[Constants.NN];

        for (int i = 0; i < Constants.NN; i++)
        {
            sol1[i] = new MakingClass(board[i]);
            sol2[i] = new MakingClass(board[i]);
        }

        //前から解く
        BruteForce(sol1, 0, 1);
        //後ろから解く
        BruteForce(sol2, 0, -1);
        //間違いがあるとfalse
        for (int i = 0; i < Constants.NN; i++)
        {
            if (ans1 [i].Equals(ans2 [i]) != true)
            {
                return(false);
            }
            if (System.String.IsNullOrEmpty(ans1 [i]) == true)
            {
                return(false);
            }
        }
        return(true);
    }
예제 #2
0
 public MakingClass(MakingClass source)
 {
     this.num      = System.String.Copy(source.num);
     this.hint     = source.hint;
     this.canInput = source.canInput;
 }