1) количество дорог строго n-1
2) алгоритм простой
1. Выбираем любую вершину и при помощи волнового алгоритма ищем наиболее удаленную вершину А
2. Из вершины А волновым алгоритмом ищем наиболее удаленную вершину Б
3. А-Б - максимальный путь
3) волновой алгоритм в дереве выполняется за O(n), в нашем случае получаем O(C*n) что равно O(n)
саму программу на Python набросаю чуть позже
кстати Alviko прав, все эти оценки производительности в школе не дают
Если ответ по предмету Информатика отсутствует или он оказался неправильным, то попробуй воспользоваться поиском других ответов во всей базе сайта.