Будем сохранять имена людей в отдельном массиве names, а также двухмерный массив_(fl[l,r])_ типа boolean, в котором значение правда означает дружбу между l и r человеком. Каждый раз считывая строку, определяем номера людей, иначе если таких нет, прибавляем ети имена в массив имен.