005 - 形式データ処理
時間制限 1 秒 / メモリ制限 64 MB / 得点 8 / x 1 /
問題
コンピュータグラフィクスでは、三次元の形状を表現する方法として、ポリゴンモデルが使われます。ポリゴンモデルとは、頂点座標と、それらの頂点のつなぎ方を与えて面を作るモデルです。
一般のポリゴンモデルでは、任意の多角形を扱えますが、
今回は三角形からなるポリゴンモデルを考えることにします。
任意のポリゴンモデルは三角形を表す面情報の集まりとして表すことができます。
一つの面情報は、3つの頂点を並べて表します。
ただし、並び方が異なるだけで同じ3点からなる場合は、同じ面情報を表すことにします。
例えば、右の図の四面体で、頂点1,2,3を繋いでできる面は、頂点2,3,1や、頂点3,2,1などのように
表すこともできます。このように、同じ面情報が複数あると無駄になるので、1つにまとめてしまった方が良いでしょう。
今回は三角形からなるポリゴンモデルを考えることにします。
任意のポリゴンモデルは三角形を表す面情報の集まりとして表すことができます。
一つの面情報は、3つの頂点を並べて表します。
ただし、並び方が異なるだけで同じ3点からなる場合は、同じ面情報を表すことにします。
例えば、右の図の四面体で、頂点1,2,3を繋いでできる面は、頂点2,3,1や、頂点3,2,1などのように
表すこともできます。このように、同じ面情報が複数あると無駄になるので、1つにまとめてしまった方が良いでしょう。
課題
面情報が与えられたとき、重複した面を無くすために消さなければならない面情報の個数を求めるプログラムを作成せよ。
入力
入力は以下の形式で与えられる。
N p11 p12 p13 p21 p22 p23 : pN1 pN2 pN3
1行目に、ポリゴンモデルの面情報の数N(1≦N≦1000)が与えられる。続くN行に、i番目の面を作るために使う頂点の番号pij(1≦pij≦1000)が与えられる。ただし、一つの面について、同じ頂点を2度以上使うことはない(pi1≠pi2かつpi2≠pi3かつpi1≠pi3である)。
出力
重複した面を無くすために消さなければならない面情報の個数を1行に出力する。
入出力例
入力例1
4 1 3 2 1 2 4 1 4 3 2 3 4
出力例1
0
入力例2
6 1 3 2 1 2 4 1 4 3 2 3 4 3 2 1 2 3 1
出力例2
2
解説
入出力例2では、1つ目と5つ目と6つ目の面は頂点1, 3, 2を使って三角形を作っていて、点の順番が異なるだけなので重複している。つまり、重複した面のうち2つの面を消せば重複した面は無くなる。