Coding_Gamesメモ_Coding_Gamesメモ_Rectangle Partition

javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:

System.err.println( );

を使うとデバックしやすくなる。(エラー出力は評価に影響しない)

内容

正方形をさがせ。

ルール

幅 w 高さ h の四角形を用意して、X軸とY軸に指示された位置と数の線を引く。
区切られてできた四角形の内、正方形はいくつありますか?

インプットの1行目に 幅 高さ x軸の線の数 y軸の線の数、
インプットの2行目に x軸の線の位置、
インプットの3行目に y軸の線の位置、

アウトプットは正方形がいくつあるか出力する。
注意 幅(w) と高さ(h)が同じでも正方形には数えない。
区切られてできた正方形だけを数える

考え方
全てのパターンをチェックするにはどうすればいいか考える。
例として4×4ブロックの16個の四角形をチェックするパターンを考える。
区切り線は斜めになっていたり、途切れていたりしていないため、縦のパターン×横のパターンですべての四角形を作ることができる
f:id:tiridukano_yagigame:20200819233056p:plain
(青:チェック対象)
縦1パターン毎に横のパターンすべてをチェックすると区切られて出来た四角形をすべてチェックできる

難しい

Coding_Games:https://www.codingame.com/