Пример #1
0
        public void Tests()
        {
            var matrix = new int[, ] {
                { 3, 0, 1, 4, 7 }, { 5, 6, 3, 2, 1 }, { 1, 2, 0, 1, 3 }, { 8, 4, 2, 0, 2 }
            };

            RangeSum2D sum = new RangeSum2D(matrix);

            Assert.AreEqual(11, sum.SumRegion(1, 1, 2, 2));
            sum.Update(2, 1, 4);
            Assert.AreEqual(13, sum.SumRegion(1, 1, 2, 2));
            Assert.AreEqual(16, sum.SumRegion(1, 1, 2, 3));
            Assert.AreEqual(24, sum.SumRegion(0, 0, 1, 3));
            Assert.AreEqual(12, sum.SumRegion(1, 1, 1, 4));
            sum.Update(1, 4, 0);
            sum.Update(1, 1, 0);
            sum.Update(1, 2, 0);
            sum.Update(1, 3, 0);
            Assert.AreEqual(0, sum.SumRegion(1, 1, 1, 4));
        }
Пример #2
0
        public void Test1()
        {
            var matrix = new int[, ] {
                { 3, 0, 1, 4, 2 },
                { 5, 6, 3, 2, 1 },
                { 1, 2, 0, 1, 5 },
                { 4, 1, 0, 1, 7 },
                { 1, 0, 3, 0, 5 }
            };

            var sol = new RangeSum2D(matrix);

            var rangeSum = sol.SumRegion(2, 1, 4, 3);

            Assert.Equal(8, rangeSum);

            rangeSum = sol.SumRegion(1, 1, 2, 2);
            Assert.Equal(11, rangeSum);

            rangeSum = sol.SumRegion(1, 2, 2, 4);
            Assert.Equal(12, rangeSum);
        }