예제 #1
0
        private static IEnumerable <string> ProcessCases(IEnumerable <List <string> > cases)
        {
            var currentCaseNumber = 0;

            foreach (var caseLines in cases)
            {
                currentCaseNumber++; //1-indexed.
                var parsedCase = new CaseInput(caseLines);
                var solver     = new CaseSolver(parsedCase);
                var result     = solver.Solve();

                var resultText = result.ToString();

                yield return($"Case #{currentCaseNumber}: {resultText}");
            }
        }
예제 #2
0
        public void Harder()
        {
            var inputString = @"3
3 10
-2 3 6
6 2
-2 2 1 -2 4 -1
2 12
-5 1";
            var io          = new TestIOStub(inputString);

            CaseSolver.Run(io);

            io.Output.Should().BeEquivalentTo(
                @"Case #1: 0
Case #2: -1 15
Case #3: 5 25".Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)
                );
        }
예제 #3
0
        public void Square()
        {
            var inputString = @"4
2 1
-2 6
2 1
-10 10
1 1
0
3 1
2 -2 2";
            var io          = new TestIOStub(inputString);

            CaseSolver.Run(io);

            io.Output.Should().BeEquivalentTo(
                @"Case #1: 3
Case #2: IMPOSSIBLE
Case #3: 0
Case #4: 2".Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)
                );
        }