SRM436 Div2 250

問題

友達かどうかを表す隣接行列(対称)が与えられる.「2-friends」とは,Aについて「AとBが友達同士」もしくは「Aの友達Bの友達C」となるB,Cを指す.この2-friendsの友達数が最大の人のその友達の数を返す.

考え方

距離1または2である頂点の数.ワーシャルフロイドで探せる.
3重ループまわせばいい.

反省

重複してカウントすることがあるので,bool配列で2-friendsかどうかをチェックして最後にカウントすべきだった.