ВСЕ ОТЛИЧНО
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Гуляя по лесу, Настя встретила белочку и решила устроить ей настоящее испытание. Однако, всё осложнилось тем, что белочка ещё маленькая и не умеет прыгать по воздуху между ветками — она может ходить только по соседним веткам.
Точками на дубе назовём концы веток и разветвления (места, где одна ветка разветвляется на несколько других).
Настя выбрала один из многих дубов в лесу и решила выбрать две точки на дубе, на одну из которых она решила повесить орешек, а на другую — посадить белочку. Настя хочет выбрать точки таким образом, чтобы белочке нужно было пройти как можно большее расстояние до орешка.
К сожалению, Настя не может самостоятельно справиться с этой задачей. Помогите ей в этом.
Входные данные
В первой строке введено целое число N — количество точек на дубе.
В следующих N - 1 строках описываются ветки дуба. Каждая ветка характеризуется тремя целыми числами: Ai, Bi, Li(1 ≤ Ai, Bi ≤ N;1 ≤ Li ≤ 104), разделёнными пробелом, где Ai, Bi — номера точек на дубе, соединяемых веткой i, а Li — длина ветки i.
Гарантируется, что существует путь по веткам между любыми двумя точками на дубе.
Выходные данные
Выведите три целых числа через пробел: максимальную длину возможного пути белочки до орешка, номер точки, на которую нужно посадить белочку, и номер точки, на которую нужно повесить орешек.
Если возможных ответов несколько, выведите любой из них.
#include
#include
#include
#include
using namespace std;
struct kr
{
int l, v;
};
int n, x, y, w, d[100001], mx, s, f;
vector a[100001];
vector graf;
bool used[100001];
void dfs(int e)
{
used[e] = true;
for (int i = 0; i < a[e].size(); ++i)
{
if (!used[a[e][i].v] && d[a[e][i].v] < d[e] + a[e][i].l)
{
d[a[e][i].v] = d[e] + a[e][i].l;
Гуляя по лесу, Настя встретила белочку и решила устроить ей настоящее испытание. Однако, всё осложнилось тем, что белочка ещё маленькая и не умеет прыгать по воздуху между ветками — она может ходить только по соседним веткам.
Точками на дубе назовём концы веток и разветвления (места, где одна ветка разветвляется на несколько других).
Настя выбрала один из многих дубов в лесу и решила выбрать две точки на дубе, на одну из которых она решила повесить орешек, а на другую — посадить белочку. Настя хочет выбрать точки таким образом, чтобы белочке нужно было пройти как можно большее расстояние до орешка.
К сожалению, Настя не может самостоятельно справиться с этой задачей. Помогите ей в этом.
Входные данные
В первой строке введено целое число N — количество точек на дубе.
В следующих N - 1 строках описываются ветки дуба. Каждая ветка характеризуется тремя целыми числами: Ai, Bi, Li(1 ≤ Ai, Bi ≤ N;1 ≤ Li ≤ 104), разделёнными пробелом, где Ai, Bi — номера точек на дубе, соединяемых веткой i, а Li — длина ветки i.
Гарантируется, что существует путь по веткам между любыми двумя точками на дубе.
Выходные данные
Выведите три целых числа через пробел: максимальную длину возможного пути белочки до орешка, номер точки, на которую нужно посадить белочку, и номер точки, на которую нужно повесить орешек.
Если возможных ответов несколько, выведите любой из них.
https://informatics.mccme.ru/
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Гуляя по лесу, Настя встретила белочку и решила устроить ей настоящее испытание. Однако, всё осложнилось тем, что белочка ещё маленькая и не умеет прыгать по воздуху между ветками — она может ходить только по соседним веткам.
Точками на дубе назовём концы веток и разветвления (места, где одна ветка разветвляется на несколько других).
Настя выбрала один из многих дубов в лесу и решила выбрать две точки на дубе, на одну из которых она решила повесить орешек, а на другую — посадить белочку. Настя хочет выбрать точки таким образом, чтобы белочке нужно было пройти как можно большее расстояние до орешка.
К сожалению, Настя не может самостоятельно справиться с этой задачей. Помогите ей в этом.
Входные данные
В первой строке введено целое число N — количество точек на дубе.
В следующих N - 1 строках описываются ветки дуба. Каждая ветка характеризуется тремя целыми числами: Ai, Bi, Li(1 ≤ Ai, Bi ≤ N;1 ≤ Li ≤ 104), разделёнными пробелом, где Ai, Bi — номера точек на дубе, соединяемых веткой i, а Li — длина ветки i.
Гарантируется, что существует путь по веткам между любыми двумя точками на дубе.
Выходные данные
Выведите три целых числа через пробел: максимальную длину возможного пути белочки до орешка, номер точки, на которую нужно посадить белочку, и номер точки, на которую нужно повесить орешек.
Если возможных ответов несколько, выведите любой из них.
#include
#include
#include
#include
using namespace std;
struct kr
{
int l, v;
};
int n, x, y, w, d[100001], mx, s, f;
vector a[100001];
vector graf;
bool used[100001];
void dfs(int e)
{
used[e] = true;
for (int i = 0; i < a[e].size(); ++i)
{
if (!used[a[e][i].v] && d[a[e][i].v] < d[e] + a[e][i].l)
{
d[a[e][i].v] = d[e] + a[e][i].l;
Гуляя по лесу, Настя встретила белочку и решила устроить ей настоящее испытание. Однако, всё осложнилось тем, что белочка ещё маленькая и не умеет прыгать по воздуху между ветками — она может ходить только по соседним веткам.
Точками на дубе назовём концы веток и разветвления (места, где одна ветка разветвляется на несколько других).
Настя выбрала один из многих дубов в лесу и решила выбрать две точки на дубе, на одну из которых она решила повесить орешек, а на другую — посадить белочку. Настя хочет выбрать точки таким образом, чтобы белочке нужно было пройти как можно большее расстояние до орешка.
К сожалению, Настя не может самостоятельно справиться с этой задачей. Помогите ей в этом.
Входные данные
В первой строке введено целое число N — количество точек на дубе.
В следующих N - 1 строках описываются ветки дуба. Каждая ветка характеризуется тремя целыми числами: Ai, Bi, Li(1 ≤ Ai, Bi ≤ N;1 ≤ Li ≤ 104), разделёнными пробелом, где Ai, Bi — номера точек на дубе, соединяемых веткой i, а Li — длина ветки i.
Гарантируется, что существует путь по веткам между любыми двумя точками на дубе.
Выходные данные
Выведите три целых числа через пробел: максимальную длину возможного пути белочки до орешка, номер точки, на которую нужно посадить белочку, и номер точки, на которую нужно повесить орешек.
Если возможных ответов несколько, выведите любой из них.
https://informatics.mccme.ru/
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—4 дня |
50 ₽ | Цена | от 20 ₽ |
Не подошла эта работа?
В нашей базе 23545 Решений задач — поможем найти подходящую