Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 6
1

Составить программу печати всех циклов орграфа

17.05.2019, 12:24. Просмотров 222. Ответов 1
Метки нет (Все метки)

Составить программу печати всех циклов орграфа
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2019, 12:24
Ответы с готовыми решениями:

Составить программу печати всех циклов ориентированного графа
Составить программу печати всех циклов ориентированного графа Добавлено через 6 часов 43 минуты...

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

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

Составить программу печати всех чисел из отрезка [-1,3] с шагом 0,2
Составить программу печати всех чисел из отрезка с шагом 0,2, циклом "пока". делаю, но почему-то...

1
442 / 329 / 171
Регистрация: 01.07.2015
Сообщений: 1,162
17.05.2019, 12:54 2
https://codeforces.com/blog/entry/12141?locale=ru

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
int ncycle = 0;
vector<int> cycle[MAXN];
vector<int> g[MAXN];
 
int add_cycle(int cycle_end, int cycle_st)
{
    cycle[ncycle].clear();
    cycle[ncycle].push_back(cycle_st);
    for(int v = cycle_end; v != cycle_st; v = p[v])
        cycle[ncycle].push_back(v);
    cycle[ncycle].push_back(cycle_st);
    
    reverse(cycle[ncycle].begin(), cycle[ncycle].end());
    
    return cycle[ncycle].size();        
}
void dfs(int v)
{
    color[v] = 1;
    for(int i = 0; i < g[v].size(); i++)
    {
        int to = g[v][i];
        if(color[to] == 0)
        {
            p[to] = v;
            dfs(to);
        }
        else if(color[to] == 1)
        {
            CycleFound = true;
            if(add_cycle(v, to) > 3) // Исключение вырожденных случаев, н: 1 2 1
                ncycle++;
        }
    }
    color[v] = 0; // Исправлено. Было: color[v] = 2;
}
void find_cycles()
{
    for(int i = 0; i < n; i++)
        if(color[i] == 0)
            dfs(i);
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2019, 12:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Составить программу печати всех простых чисел до 500
Составить программу печати всех простых чисел до 500 c помощью for

Составить программу печати всех простых чисел до 500
Составить программу печати всех простых чисел до 500. с помощью for

Составить программу печати в алфавитном порядке всех букв текста
Составить программу печати в алфавитном порядке всех букв текста (текст оканчивается точкой),...

Составить программу печати в алфавитном порядке всех букв текста
..(текст оканчивается точкой), входящих в него a) не менее двух раз; b) не более двух раз; ...

Составить программу для нахождения и печати всех пифагоровых чисел, не превышающих 20
Как создать программу для нахождения пифагоровых чисел до 20??? Помогите срочно!!! JAVA, не C#

Составить программу для нахождения и печати всех пифагоровых чисел, не превышающих 20
Доброго времени суток. Помогите пожалуйста написать программу. Вопрос жизни и смерти ). Решается...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.