Определим фамилию каждого друга.
Сергей не может быть Даниловым (по условию). Значит, Сергей либо Петров, либо Смирнов.
Дмитрий не может быть Даниловым (по условию). Значит, Дмитрий либо Петров, либо Смирнов.
Павел не может быть Петровым (по условию). Значит, Павел либо Данилов, либо Смирнов.
Допустим, что Сергей Петров. Тогда Дмитрий может быть только Смирновым, а Павел - Даниловым.
Допустим, что Сергей Смирнов. Тогда Дмитрий может быть только Петровым, а Павел - Даниловым.
Рассмотрим случай, когда Сергей - Смирнов, Дмитрий - Петров, Павел - Данилов. В этом случае условие, что ни у кого первая буква имени и фамилии не совпадают, не выполняется: Павел - Данилов (П и Д).
Рассмотрим случай, когда Сергей - Петров, Дмитрий - Смирнов, Павел - Данилов. В этом случае условие, что ни у кого первая буква имени и фамилии не совпадают, выполняется. Значит, Дмитрий - Смирнов, Павел - Данилов, Сергей - Петров.
Дмитрий - Смирнов (2)
Павел - Данилов (3)
Сергей - Петров (1)
Ответ: 231