Разбиваем класс на группы, каждая из которых состоит из одного мальчика и "его гарема" - девочек, с которыми он дружит. Поскольку каждая девочка дружит не более, чем с одним мальчиком, девочка не может войти в две группы. Тем более мальчик не может войти в две группы. Поскольку у всех мальчиков разное количество знакомых девочек, все эти группы состоят из различного количества элементов. Количество мальчиков совпадает с количеством групп. Поэтому с математической точки зрения вопрос состоит в том, на какое наибольшее количество попарно различных натуральных слагаемых можно разбить число 23. Ясно, что если брать большие слагаемые, их окажется мало. Значит, нам выгодно брать слагаемые как можно меньше. Возьмем в качестве первого слагаемого число 1 (то есть в этой группе находится мальчик, у которого вообще нет знакомых девочек), второе слагаемое 2, третье 3, и так далее. Важно, чтобы сумма слагаемых не стала больше 23. Итак, 1+2=3<23, 1+2+3=6<23, 1+2+3+4=10<23, 1+2+3+4+5=15<23, 1+2+3+4+5+6=21<23. Больше ничего не добавишь. Чтобы получить ровно 23, нужно просто, скажем, 6 заменить на 8: 1+2+3+4+5+8=23. Вывод: в классе максимум 6 мальчиков