SRM395 Div2 500

問題

原点(0,0)から目的地(X,Y)へ行きたい.グリッドに沿って歩く場合は1ブロックあたりwalkTimeだけかかり,斜めに動く場合(例えば(0,0)->(1,1)など)は1ブロックあたりsneakTimeだけかかる.
このとき,目的地までかかる最小時間を返す.

考え方

いくつかの場合について時間を計算してその最小時間を返した.
斜めには進まない場合(walkだけ),座標が(偶数,偶数)or(奇数,奇数)ならば斜めだけを使っていけるので斜めだけの場合(snakeだけ),(偶数,奇数)ならば1つ前のブロックまでは斜めだけを使って行けるので,そこまで行って,最後だけwalkする場合(walk+snake).