Форум программистов, компьютерный форум CyberForum.ru

Использовать представление графа в виде списков смежности добавить в орграф новую вершину - C++

Восстановить пароль Регистрация
 
Priorzivil
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 11
11.03.2013, 18:07     Использовать представление графа в виде списков смежности добавить в орграф новую вершину #1
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен

задача 11 Граф 2
использовать представление графа в виде списков смежности
добавить в орграф новую вершину.

Input:
Код
6
1 2 3
2 1 3 4
3 1 2 5
4 2 5
5 3 4 6
6 5
5
7 6
7 1
8 7
8 3
9 8


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
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <fstream>
 
using namespace std;
 
vector<vector<int>> g;
int n;
 
int main () {
    freopen("input.txt", "r", stdin);
    cin >> n;
    g.resize(n);
    for (int i = 0; i < n; i++) {
        int a;
        cin >> a;
        a--;
        while (cin.peek() != '\n' && cin.peek() != EOF) {
            int b;
            cin >> b;
            b--;
            g[a].push_back(b);
        }
    }
 
    int k;
    cin >> k;
    for (int i = 0; i < k; i++) {       
        // Дуга из v в u
        int v, u;
        cin >> v >> u;
        if (u > g.size() || v > g.size()) {
            g.push_back(vector<int>());
            n = g.size();
        }
        --u;
        --v;
        g[v].push_back(u);
    }
 
    cout << "spisok smeznosti grapha:" << endl;
    for (int i = 0; i < n; i++) {
        cout << i + 1 << ": ";
        for (int j = 0; j < g[i].size(); j++)
            cout << g[i][j] + 1 << " ";
        cout << endl;
    }
 
    return 0;
}



output:
Код
spisok smeznosti grapha:
1: 2 3
2: 1 3 4
3: 1 2 5
4: 2 5
5: 3 4 6
6: 5
7: 6 1
8: 7 3
9: 8
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 18:07     Использовать представление графа в виде списков смежности добавить в орграф новую вершину
Посмотрите здесь:

заданно матрицу смежности простого графа. Построить каркас этого графа с использованием поиска вширь C++
C++ Представление графа в виде списка вершин.
Список смежности для графа C++
C++ Определить планарность графа по матрице смежности
Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности C++
C++ Сгенерировать матрицу смежности полного графа
C++ Матрица смежности графа - поиск в глубину
C++ Определить, имеет ли данный ациклический орграф корень. Список смежности

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru