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