def main(h,w,x): # 上下に振りながら右に行く # 壁にぶつかるまでは下または上に行く。ぶつかったときのみ右に行く mat=[["#"]*w for _ in range(h)] for i in range(0,h,2): for j in range(0,w,2): mat[i][j]="x" seen=[[-1]*w for _ in range(h)] seen[0][0]=0 for i in range(h): seen[i][0]=i mat[i][0]="." todo=[[i,0]] while todo: i,j=todo.pop() mat[i][j]="." if [i,j]==[h-1,w-1]:break if seen[i][j]+(h-i-1)+(w-j-1)==x: # ここからは最短距離を歩く # 右に行けるだけ右に行く while [i,j]!=[h-1,w-1]: if j+1