SP8042 SOCIALNE - Possible Friends

题目描述

Josué 是 PUCMM 的一名本科生,他正在开发一款社交网络。他遇到一个难题——如何识别谁可能拥有最多的潜在朋友。两个人如果不是直接朋友,但是拥有至少一个共同的朋友,那么他们就是潜在朋友。举个例子,如果 A 只跟 B 是朋友,而 B 又是 C 的朋友,那么 A 和 C 就是潜在朋友。你的任务是帮他解决这个问题。给定一个表示网络关系的矩阵,你需要找到拥有最多潜在朋友的人。如果有多个人符合标准,选择编号较小的那个人。

输入格式

第一行为一个整数 **T**,表示测试用例的数量($1 \le T \le 50$)。 每个测试用例由一个 **M**x**M** 的矩阵构成,矩阵元素为 'Y' 或 'N',表示网络中各人的友谊关系,**M** 表示人数。 矩阵的第 i 行对应第 i 个人,每行也有 **M** 个字符,对应是否与各人有直接友谊关系。 如果第 i 行的第 j 个字符为 'Y',表示第 i 个人是第 j 个人的朋友;反之为 'N' 则不是朋友。 对于每个人 i,矩阵中的第 i 行的第 i 列必定为 'N',表示自己与自己不是朋友关系。 此外,对于每个 i 和 j,矩阵中第 i 行的第 j 个字符与第 j 行的第 i 个字符保持一致。

输出格式

对于每个测试用例,你需要输出一行,列出拥有最多潜在朋友的人的 ID(从 0 开始)及其潜在朋友的数量,两者用空格分隔。 **本翻译由 AI 自动生成**