我在编程中面临这个问题,如果杰克知道约翰和约翰知道马克,那么杰克应该知道马克 输入就像这样
1 - 3
3 - 4
1 - 4
1知道3和3知道4所以1知道4,答案是肯定否则如果第三行不在那里答案是假的,因为这三个人之间没有联系。
如何在c ++中实现它以在这三者之间建立连接(在大输入上)。
答案 0 :(得分:0)
如果你懂c ++就很简单; 你只需要交朋友列出每个人,然后你就可以做一个功能
bool isFriend(person1,person2)
如果person1和person2彼此认识,那么将返回true,那么如果他知道他们中的任何一个,他就可以建立第三人的关系,他将这两者都视为你的要求。
要制作好友列表,您可以使用锯齿状数组数据结构和带有链接列表的邻接列表;