このたび新しい豪邸を建てることを決めた大富豪の品田氏は,どの街に新邸を建てようかと悩んでいる.実は,品田氏は正方形がとても好きという変わった人物であり,そのため少しでも正方形の多い街に住みたいと思っている.
品田氏は,碁盤目状に道路の整備された街の一覧を手に入れて,それぞれの街について,道路により形作られる正方形の個数を数えることにした.ところが,道と道の間隔は一定とは限らないため,手作業で正方形を数えるのは大変である.そこであなたには,碁盤目状の道路の情報が与えられたときに,正方形の個数を数えるプログラムを書いて欲しい.
(以下是助教版不負責翻譯..)
最近要蓋新房子的大富豪品田氏,正在煩惱要把房子蓋在哪裡。品田氏是個非常喜歡正方形的怪人,他想住在一個正方形比較多的地點。
品田氏拿到了有棋盤狀道路的地區的地圖,對每個地區計算道路作出的正方形個數。但由於道路的間隔不固定,人工計算正方形非常辛苦。他希望你寫個程式,輸入棋盤狀道路的資料,計算正方形的個數。
入力は複数のデータセットから構成されており,各データセットは以下のような構成になっている.
N M
h1
h2
...
hN
w1
w2
...
wM
1 行目には 2 つの正の整数 N, M (1 ≦ N, M ≦ 1500) が与えられる.続く N 行 h1, h2, ..., hN (1 ≦ hi ≦ 1000)は,道路と道路の南北方向の間隔を表す.ここで hi は北から i 番目の道路と北から i + 1 番目の道路の間隔である.同様に,続く M 行 w1, ..., wM (1 ≦ wi ≦ 1000)は,道路と道路の東西方向の間隔を表す.ここで wi は西から i 番目の道路と西から i + 1 番目の道路の間隔である.道路自体の幅は十分細いため考慮する必要はない.
N = M = 0 は入力の終端を示しており,データセットには含めない.
有多組測試資料,每組測資的格式如下
N M
h1
h2
...
hN
w1
w2
...
wM
第一行是兩個正整數N, M (1 ≦ N, M ≦ 1500)。接著N行h1, h2, ..., hN (1 ≦ hi ≦ 1000)表示道路南北方向的間隔,其中hi表示從北數第i條路和第i+1條路的間隔。同樣的,接著M行w1, ..., wM (1 ≦ wi ≦ 1000)是道路東西方向的間隔,其中wi表示從西數第i條路和第i+1條路的間隔。道路本身的寬度不需要考慮。
N = M = 0表示輸入結束。
圖1: 第一組testdata示意圖
各データセットに対して,正方形の個数を 1 行に出力しなさい.たとえば,Sample Input の最初のデータセットにおいては,以下のとおり 6 個の正方形を含むので,このデータセットに対する出力は 6 となる.
對每個測資,輸出一行數字表示正方形的個數。例如Sample Input的第一組測資有以下6個正方形,所以輸出6。
3 3 1 1 4 2 3 1 1 2 10 10 10 0 0
6 2
Migrated from old NTUJ.
No. | Testdata Range | Score |
---|