static void Main(string[] args) { var ms = new MonitoringStation("#..#.#.###.#...##.##.....#.#####.#.#.##.....##.###..#.###..###..#####..#####.#.#..#....#..##.##..#######.#####...#.###...##...#.#.###..###.#.#.#.######.....#.###..#.....##..##.#..#####...###.########.#..#####..#.#.#..###.###...##.##....##.###.###.##.#.#..####.....#.#..##..#..#.#..#####.######.##.#.#.#.#.#.#..###...##.##.###.##.#.###..####.##.#.#.####.#####.#.#..##...##..##..#.#.##.###...####.###.#.###.#.#..####.#####..#####.#.##..###..###..#..##...#.#.##.####...##....####.##.####..#..##.#.#....#..#..#..........#..#.#.####.###..###.###.#.#.#....##########.#######.#.##.##"); Console.WriteLine(ms.MaxVisible()); Console.WriteLine(ms.VaporiseOrder(200)); Console.ReadKey(); }
public void TestStraightLine2() { var ms = new MonitoringStation("####...........#"); Assert.AreEqual(4, ms.MaxVisible()); }
public void TestHorizontalLine() { var ms = new MonitoringStation("####............"); Assert.AreEqual(2, ms.MaxVisible()); }
public void TestNegativeStraightLine() { var ms = new MonitoringStation("...#..#..#..#..."); Assert.AreEqual(2, ms.MaxVisible()); }
public void TestGiven5() { var ms = new MonitoringStation(".#..##.###...#########.############..##..#.######.########.#.###.#######.####.#.#####.##.#.##.###.##..#####..#.##############################.####....###.#.#.####.######################.##.###..####....######..##.###########.##.####...##..#.#####..#.######.#####...#.##########...#.##########.#######.####.#.###.###.#.##....##.##.###..#####.#.#.###########.####.#.#.#####.####.######.##.####.##.#..##"); Assert.AreEqual(210, ms.MaxVisible()); }
public void TestGiven3() { var ms = new MonitoringStation("#.#...#.#..###....#..#....#...##.#.#.#.#....#.#.#..##..###.#..#...##....##....##......#....####.###."); Assert.AreEqual(35, ms.MaxVisible()); }