長方形領域の周りがx
で囲われているものとして考える:
xxxxxxx
xxoooox
xooooxx
xooooox
xoxxoox
xxxxxxx
x
からの最短距離が以上であるマスがわかれば、その数が答えである。具体的には、マスx
をに、マスo
をに初期化した上で、に初期化した点をすべてキューに入れてBFSすれば良い:
0 0 0 0 0 0 0
0 0 inf inf inf inf 0
0 inf inf inf inf 0 0
0 inf inf inf inf inf 0
0 inf 0 0 inf inf 0
0 0 0 0 0 0 0
↓
0 0 0 0 0 0 0
0 0 1 1 1 1 0
0 1 2 2 1 0 0
0 1 1 1 2 1 0
0 1 0 0 1 1 0
0 0 0 0 0 0 0
計算量は。