ドット直角三角形の共通部分 2017.10.6

-2 -1 0 1 2 3 4 5 6 7 8 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6

問題の概要

マス目に沿った、直角二等辺三角形っぽい形を2つ指定する。
両者に含まれるマスの数を計算せよ。

入力

入力は
7,0R6/3,1B5
こんな感じ。
スラッシュ区切りで2つの図形が指定されている。
各図形は、ちょっとごちゃごちゃしているけど
  a , bDh
という形式になっている。
a, b, D, h の意味は下表の通り:

a 直角の頂点の x 座標
b 直角の頂点の y 座標
D 三角形の向き。
R:右が直角 / L:左が直角 / T:上が直角 / B:下が直角
h 三角形の高さ。

具体的には、下図の通り:

記号 図形
2,3L1 1 2 3 2 3 4
4,6R2 2 3 4 5 4 5 6 7 8
5,1T3 2 3 4 5 6 7 8 0 1 2 3 4
5,6B4 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7
7,8L3 6 7 8 9 10 5 6 7 8 9 10 11

出力

両者に含まれるマス目の数を、普通に 10進数で。
両者に含まれるマスが1個もなければ 0 を出力すればよい。

補足

サンプルデータ

# 入力 期待 状況へのリンク
0 7,0R6/3,1B5 15 リンク
1 1,6L4/4,9R9 4 リンク
2 0,2R4/1,3B4 3 リンク
3 1,2L4/1,2L5 16 リンク
4 3,2L5/5,6B4 8 リンク
5 4,1B3/6,3B4 4 リンク
6 4,4R7/4,3R5 20 リンク
7 4,5R9/0,7T3 7 リンク
8 4,7T9/1,6T3 1 リンク
9 4,8B7/3,7L4 10 リンク
10 5,3L3/9,8L4 0 リンク
11 5,6B4/4,4R2 3 リンク
12 5,6B4/8,5R4 8 リンク
13 5,8B9/5,2L2 4 リンク
14 6,1L5/7,1T2 3 リンク
15 7,2B4/7,2T4 1 リンク
16 7,3T9/9,6L6 11 リンク
17 8,0R6/8,1R7 30 リンク
18 0,4R7/4,6R10 36 リンク
19 10,4L4/9,1T6 9 リンク
20 2,2T7/6,7T10 4 リンク
21 2,7R4/1,6L8 2 リンク
22 3,0R10/1,2T7 7 リンク
23 3,5T2/3,6B10 2 リンク
24 4,7R10/8,2T8 6 リンク
25 6,8B10/4,5B6 36 リンク
26 9,2B7/1,1B10 6 リンク
27 9,3R14/2,4R1 1 リンク
28 3,0R10/0,6B10 54 リンク
29 4,10T8/4,10T8 64 リンク
30 1,5T10/1,20B10 56 リンク
31 15,16L4/5,12L12 4 リンク
32 12,11T18/7,18R18 34 リンク
33 15,16T14/5,12L15 44 リンク
34 5,10L40/22,22B10 100 リンク
35 46,34T34/34,29T14 30 リンク
36 52,75L12/88,69T54 0 リンク
37 67,83B70/99,48T14 52 リンク
38 291,11T120/258,54B130 424 リンク
39 62,170L139/133,172R21 441 リンク
40 98,189B116/183,127R27 240 リンク
41 646,684B96/435,690R772 0 リンク
42 113,668L866/581,859L852 158404 リンク
43 309,321B162/137,420B423 15750 リンク
44 5474,6459R9089/8177,150R5120 376996 リンク
45 2399,1640B2451/1718,2100L1623 221334 リンク
46 5621,8460T7612/2715,5697L8851 861192 リンク

C/C++/Java 用のテストデータ