Example #1
0
        private static void DoTest(StreamReader sr)
        {
            string[] nk = sr.ReadLine().Split(' ');

            int n = Convert.ToInt32(nk[0]);

            int k = Convert.ToInt32(nk[1]);

            string[] r_qC_q = sr.ReadLine().Split(' ');

            int r_q = Convert.ToInt32(r_qC_q[0]);

            int c_q = Convert.ToInt32(r_qC_q[1]);

            int[][] obstacles = new int[k][];

            for (int i = 0; i < k; i++)
            {
                obstacles[i] = Array.ConvertAll(sr.ReadLine().Split(' '), obstaclesTemp => Convert.ToInt32(obstaclesTemp));
            }

            int result = QueensAttack2.queensAttack(n, k, r_q, c_q, obstacles);

            Console.WriteLine(result);
        }
Example #2
0
        public void HackerRankTestCase5()
        {
            QueensAttackInputData oData = GetInputMatrixFromFile(_sTestDataRootDir + "testcase5_input.txt");

            int result = QueensAttack2.queensAttack(oData.iBoardSize, oData.iNumObstacles, oData.iQueenRow, oData.iQueenCol, oData.aObstacleLocations);

            Assert.AreEqual(result, 21);
        }
Example #3
0
        public void HugeTest2()
        {
            QueensAttackInputData oData = GetInputMatrixFromFile(_sTestDataRootDir + "huge2_input.txt");

            int result = QueensAttack2.queensAttack(oData.iBoardSize, oData.iNumObstacles, oData.iQueenRow, oData.iQueenCol, oData.aObstacleLocations);

            Assert.AreEqual(result, 27475);
        }
Example #4
0
        public void HackerRankTestCase6()
        {
            // test case 6 answer is 40 from hackerrank
            QueensAttackInputData oData = GetInputMatrixFromFile(_sTestDataRootDir + "testcase6dbg_input.txt");

            int result = QueensAttack2.queensAttack(oData.iBoardSize, oData.iNumObstacles, oData.iQueenRow, oData.iQueenCol, oData.aObstacleLocations);

            Assert.AreEqual(result, 40);
        }