回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有朋友的名字,我正在寻找三角形的朋友,如果有的话。
示例(紧挨着的名字被归类为朋友,在第一行中,第一个数字表示人数,第二个数字表示友谊的数量):</p>
<pre><code>6 7
mirko slavko
slavko janko
janko mirko
slavko luka
luka mirjana
mirjana ivana
ivana luka
</code></pre>
<p>在这个例子中,扬科-米尔科-斯拉夫科是一个三角形,米尔贾纳-卢卡-伊凡纳是另一个三角形</p>
<p>我编写了一个代码,生成了一个表示这个图的2d列表</p>
<pre><code>L = [input().split() for i in range (n)]
H=[]
for i in range(n):
for j in range(2):
if L[i][j] not in H:
H.append(L[i][j])
H.sort()
for number, name in enumerate(H):
for i in range (n):
for j in range(2):
L[i][j]=L[i][j].replace(name, str(number))
matrix = [[0 for i in range(m)] for j in range(m)]
for i, j in L:
matrix[int(i)][int(j)]=matrix[int(j)][int(i)]=1
</code></pre>
<p>图表如下所示(姓名按字母顺序排列,每行和每列代表一个姓名,1表示存在友谊,0表示这两个人不是朋友):</p>
<pre><code>[0, 0, 1, 1, 0, 0]
[0, 0, 0, 0, 1, 1]
[1, 0, 0, 1, 0, 1]
[1, 0, 1, 0, 0, 0]
[0, 1, 0, 0, 0, 1]
[0, 1, 1, 0, 1, 0]
</code></pre>
<p>我的问题是如何用代码找到三角形</p>