SRM312 Div2 500

問題

立方体ブロックの塊が2つ与えられる。それぞれの塊は板のようになるようにくっついている。
2つの塊がブロックを共有しつつくっつくとき、全体でブロックがいくつになるか。

考え方

座標が100*100*100程度なので、各ポイントにブロックがあるかどうかをカウントする。
setを使うならば、各ブロックが塊の一部かをチェックする100*100*100*(setに挿入するlog n分)。
カウントするだけならば2*100*100*100でも間に合う。


TLEしてしまったのは、いつもよくやる「bool operator<(hoge a, hoge b){}」のせい。意外にこの関数の値渡しのオーバーヘッドが大きいらしく、「const hoge &a」や関数のinline化にすると間に合う。気を付けよう。