开发四年只会写业务代码,分布式高并发都不会还做程序员?->>>

在生产过程中,零件A不够用时,我们可以用零件B来替换零件A,但是零件B由于某些关系不能替换A,关系记为 A->B, 我们在文件中记录为:
A,B
零件A和B也有可能只是厂家不一样型号完全一样,于是他们可以互相替换,关系记为 A<-->B,我们将其在文件中记录为:
A,B
B,A
但是我们的零件显然不只有这么简单的关系,那么零件之间的替换关系可能像这样:
A<-->B->C->D
B<-->E<-F
A->G->X
对于每两个零件,我们仍然采用先前的方式将其关系记录到文件中:
A,B
B,A
B,C
C,D
...
那么现在给定一个零件B,如何才能得到它所在的所有替换关系(就像上面画的链那样)?
感觉似乎不是一个难题,不过刚遇到一时没有想清楚,撤退之前先发出来(抽风的是我要用Perl来解决这个略显抽风的问题)