[BOJ 14309] Safe Squares (Large)

View as PDF

Submit solution

Points: 3
Time limit: 5.0s
Memory limit: 512M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

Codejamon trainers are actively looking for monsters, but if you are not a trainer, these monsters could be really dangerous for you. You might want to find safe places that do not have any monsters!</p>

Consider our world as a grid, and some of the cells have been occupied by monsters. We define a safe square as a grid-aligned D × D square of grid cells (with D ≥ 1) that does not contain any monsters. Your task is to find out how many safe squares (of any size) we have in the entire world.

    ## 입력 형식

    The first line of the input gives the number of test cases, T. T test cases follow. Each test case starts with a line with three integers, R, C, and K. The grid has R rows and C columns, and contains K monsters. K more lines follow; each contains two integers Ri and Ci, indicating the row and column that the i-th monster is in. (Rows are numbered from top to bottom, starting from 0; columns are numbered from left to right, starting from 0.)

    출력 형식

    For each test case, output one line containing Case #x: y, where x is the test case number (starting from 1) and y is the the total number of safe zones for this test case.

    예제 입력

    2
    3 3 1
    2 1
    4 11 12
    0 1
    0 3
    0 4
    0 10
    1 0
    1 9
    2 0
    2 4
    2 9
    2 10
    3 4
    3 10

    예제 출력

    Case #1: 10
    Case #2: 51

    힌트

    The grid of sample case #1 is:</p>

    0 0 0
    0 0 0
    0 1 0

    Here, 0 represents a cell with no monster, and 1 represents a cell with a monster. It has 10 safe squares: 8 1x1 and 2 2x2.

    The grid of sample case #2 is:

    0 1 0 1 1 0 0 0 0 0 1
    1 0 0 0 0 0 0 0 0 1 0
    1 0 0 0 1 0 0 0 0 1 1
    0 0 0 0 1 0 0 0 0 0 1

    Note that sample case #2 will only appear in the Large dataset. It has 51 safe squares: 32 1x1, 13 2x2, 5 3x3, and 1 4x4.


    Comments

    There are no comments at the moment.