Beispiel #1
0
    def test_resolve_field(self):
        field = Field([])
        self.assertEquals(field.resolve(), [])

        field = Field([[]])
        self.assertEquals(field.resolve(), [[]])

        field = Field([['.']])
        self.assertEquals(field.resolve(), [['0']])

        field = Field([['*']])
        self.assertEquals(field.resolve(), [['*']])

        field = Field([['.', '*']])
        self.assertEquals(field.resolve(), [['1', '*']])

        field = Field([['*', '*']])
        self.assertEquals(field.resolve(), [['*', '*']])

        field = Field([['.', '.', '*'],
                       ['*', '.', '.'],
                       ['.', '*', '.']])
        self.assertEquals(field.resolve(), [['1', '2', '*'],
                                            ['*', '3', '2'],
                                            ['2', '*', '1']])
Beispiel #2
0
def main():
    nlines = 0
    mcols = 0
    field_input = None
    field_count = 0
    expect_size_line = True
    for line in fileinput.input():
        # strip \n
        line = line.strip()

        if expect_size_line:
            # expect two integers
            nlines, mcols = map(int, line.split())
            if nlines > 0:
                # Read fields in next loop
                expect_size_line = False
                # initialize field
                field_input = list()
                linecount = nlines
                field_count += 1
        else:
            # append line as list/row
            field_input.append(list(line))
            # pop line
            linecount -= 1

            if linecount == 0:
                # process next field
                expect_size_line = True

                # Read complete display result
                field = Field(field_input)

                if not field.is_empty():
                    result = field.resolve()

                    if field_count > 1:
                        sys.stdout.write("\n")

                    sys.stdout.write("Field #%d\n" % field_count)
                    for row in result:
                        for cell in row:
                            sys.stdout.write(cell)
                        sys.stdout.write("\n")

    return 0