>>272
有効グラフを使って、どこかに閉路が出来ていれば、
循環参照が存在する

例えば、ABCを閉路として、
閉路の見つけ方は、番号の大きい順にたどる
X5 → A4 → B3 → C2 → A4,Y1

次に、このグラフの向きをすべて逆にして、
番号の大きい順にたどる

X5 ← A4 となり、X5からA4へたどれない
A4 → C2 → B3 → A4
C2 ← Y1 となり、C2からY1へたどれない

よってABCは、どちらでもたどれたので閉路である

このように循環参照は発見できるが、
データ量や時間もかかりそう。
5分毎に調べるとか、なら出来るかも