1 / 1 / 0
Регистрация: 23.11.2020
Сообщений: 52
1

Задача Бусинки

07.12.2021, 18:08. Показов 4006. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Помогите пожалуйста разобраться с задачей, как сделать так, чтобы в программе можно было вводить значения в консоли и выводила на консоль?

Условия задачи:
Маленький мальчик делает бусы. У него есть много пронумерованных бусинок. Каждая бусинка имеет уникальный номер - целое число в диапазоне от 1 до N. Он выкладывает все бусинки на полу и соединяет бусинки между собой произвольным образом так, что замкнутых контуров не образуется. Каждая из бусинок при этом оказывается соединенной с какой-либо другой бусинкой. Требуется определить, какое максимальное количество последовательно соединенных бусинок присутствует в полученной фигуре.
Входные данные
В первой строке входного файла "beads.in" 1 <= N <= 2500 - количество бусинок . В последующих N - 1 строках по два целых числа - номера, соединенных бусинок.
Выходные данные
Вывести в файл "beads.out" одно число - искомое количество бусинок.

Примеры:
Ввод
5
2 1
2 3
2 4
2 5
Вывод 3
Помогите пожалуйста!!!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
 
using namespace std;
 
int main() {
    ofstream fout("beads.out");
    ifstream fin("beads.in");
    int N;
    fin >> N;
    string beads;
    fin >> beads;
    vector<int> potentialbreaks;
    for (int i = 0; i < N; i++) {
        if (beads[i % N] != beads[(i + 1) % N]) {
            potentialbreaks.push_back(i);
        }
    }
    char left, right;
    int distance = 2;
    int max = 2;
    int index;
        int lowlimit = 0;
        for (int i = 0; i < potentialbreaks.size(); i++) {
            index = potentialbreaks[i];
            distance = 2;
            left = beads[index];
            right = beads[(index + 1) % N];
            if (beads[index] == 'w') {
                left = (beads[(index + 1) % N] == 'b') ? 'r' : 'b';
            }
            else if (beads[(index + 1) % N] == 'w') {
                right = (beads[index] == 'b') ? 'r' : 'b';
            }
            int k = 1;
            while ((beads[(index - k + N) % N]) != right) {
                distance += 1;
                k += 1;
            }
            lowlimit = (index + 1 - k + N) % N;
            k = 1;
            while (((beads[(index + 1 + k) % N]) != left) && (((index + 1 + k) % N) != lowlimit)) {
                distance += 1;
                k += 1;
            }
            if (distance > max) {
                max = distance;
            }
        }
        fout << max << endl;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2021, 18:08
Ответы с готовыми решениями:

Бусинки
Решаю задачу по комбинаторике: Имеются бусинки K различных цветов, по a, a, ... , a бусинок...

Бусинки
Беси нанизала свою коллекцию из N (1 &lt;= N &lt;= 80) синих и оранжевых бусин (представленных 1 и 0...

про бусинки
Помогите пожалуйста решить задачу в Паскале! Дана бесконечная последовательность из бусинок, пяти...

ПАСАВЕТУЙТЕ бусинки... :)
В другой теме я присоседился со своим вопросом, теперь хочу продолжить, набравшись новой...

0
07.12.2021, 18:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2021, 18:08
Помогаю со студенческими работами здесь

Бусы-бусинки
Маша очень любит бусы, но глубокое эстетическое чувство не позволяет ей получать удовольствие от...

Бусинки от С. Л. Берлова и К. Л. Шейнерман
Задача от товарища Берлова в моей переработке. Требуется составить замкнутое ожерелье из n...

ферритовые бусинки на ногах мосфета
щас добывал транзистор из дохлого блока питания. удивился импульсник, это силовой транзистор в...

Определите ускорение бусинки относительно стержня, силу реакции со стороны стержня
Помогите разобраться с задачей. На стержень длина которого 2L, надета бусинка массой m. Бусинка...

Составить уравнение движения бусинки (уравнение Лагранжа 2-го рода)
Тяжёлая бусинка движется по гладкой проволоке под действием силы тяжести. Форма проволоки...

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько...

Задача: В некотором государстве ввели компьютерный паспорт гражданина.(задача)
Доброго времени суток,форумчане. Хотелось бы попросить помощи в решении одной задачи от умных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru