Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
-9 / 0 / 0
Регистрация: 26.02.2019
Сообщений: 15

Требуется найти количество простых циклов на этом графе

18.03.2019, 10:25. Показов 2752. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо сложить значения там где на выводе 1-но число.То есть Cycl 1 + Cycl 3 и вывести.То есть Требуется
найти количество простых циклов на этом графе.Цикл начинается и заканчивается в одной и той же вершине. Цикл не может содержать в себе другой цикл.
Начальные значения:
4
0 1 0 1
1 1 0 0
1 1 0 0
0 1 1 1
Выхлдные:
Cycl 1 :
2
Cycl 2 :
1 2
Cycl 3 :
4
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
#include <iostream>
#include <cstdio>
 
using namespace std;
 
#define sz 1000
 
int n, a[sz][sz], c, d[sz], cnt;
int count{}; 
bool check(int p, int t)
{
    if (p == t)
        return a[d[t]][d[1]];
    if (!a[d[p]][d[p + 1]])
        return false;
    return check(p + 1, t);
}
 
int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            cin >> a[i][j];   //Читаем матрицу смежности, если есть ребро а[i][j] = 1, иначе 0
 
 
    for (int mask = 1; mask < (1 << n); mask++)     //Перебираем все возможные комбинации вершин (2 ^ n)
    {
        c = 0;
        for (int i = 0; i < n; i++)    //Выписываем вершины из текущей комбинации
            if (mask & (1 << i))
                d[++c] = i + 1;
        if (check(1, c))        //Если данные вершины образуют цикл, сообщаем об этом.
        {
            cnt++;
            cout << "Cycl " << cnt << " :" << endl;
            for (int i = 1; i <= c; i++)
                cout << d[i] << " ";
            cout << endl;
        }
    }
    
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2019, 10:25
Ответы с готовыми решениями:

Количество контуров в таблице, поиск циклов в графе
есть таблица NxM необходимо подсчитать сколько можно получить контуров в этой таблице чтобы они не повторялись, но они могут содержать...

Количество различных простых циклов
Есть задачка: Пусть G - связный граф с n вершинами и n+1 ребрами. Сколько различных простых циклов может быть в графе G ? Есть варианты...

Дан массив из n целых чисел. Требуется найти количество чисел, которые встречаются в этом массиве хотя бы три раза
написал вот такой алгоритм,но он не правильный,что нужно исправить? using System; using System.Linq; namespace Olimp { class...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2019, 10:25
Помогаю со студенческими работами здесь

В неориентированном графе требуется найти минимальный путь между двумя вершинами
Путь В неориентированном графе требуется найти минимальный путь между двумя вершинами. Входные данные Во входном...

В неориентированном графе требуется найти длину кратчайшего пути между двумя вершинами
В неориентированном графе требуется найти длину кратчайшего пути между двумя вершинами. Входные данные Во входном файле INPUT.TXT...

Поиск Ф-циклов в графе
Нужно вывести на печать все фундаментальные циклы графа. Мой код выводит правильно(судя по данному примеру),но помоему он не разделяет сами...

Поиск циклов в графе
Подскажите, пожалуйста, какие идеи нужно применять к данной задаче

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru