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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Использовать представление графа в виде списков смежности вывести на экран все вершины, не смежные с данной http://www.cyberforum.ru/cpp-beginners/thread805892.html
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен задача 10 Граф 1 использовать представление графа в виде списков смежности вывести на экран все вершины, не смежные с данной; input: 6 1 2 3 2 1 3 4 3 1 2 5
C++ По входной последовательности построить идеально сбалансированное дерево Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задача 9 Деревья 2 в файле input.txt хранится последовательность целых чисел. По входной последовательности построить идеально сбалансированное дерево и поменять в нем местами узлы, хранящие минимальное и... http://www.cyberforum.ru/cpp-beginners/thread805889.html
C++ По входной последовательности построить дерево бинарного поиска и найти количество узлов, имеющих только одного левого потомка
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задача 8 Деревья 1 в файле input.txt хранится последовательность целых чисел. По входной последовательности построить дерево бинарного поиска и найти количество узлов, имеющих только одного левого потомка ...
C++ Списки. Удалить каждое последующее вхождение символа если он встречался до этого.
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задача 7 Двусвязный список В файле input.txt содержатся символы создать из этих символов список. Удалить каждое последующее вхождение символа если он встречался до этого. Input: = + - ) ( + ? _ - ) трава...
C++ Очередь. Удалить каждое последующее вхождение символа если он встречался до этого. http://www.cyberforum.ru/cpp-beginners/thread805881.html
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен задача 6 очередь В файле input.txt содержатся символы создать из этих символов список. Удалить каждое последующее вхождение символа если он встречался до этого. input ( ( ( крат крит Код программы...
C++ Закомментировать #include <iostream> using namespace std; int main() { int a,b,a1,b1,r; r=1; cout << "Pervoe chislo = "; cin >> a; cout << "Vtoroe chislo = "; подробнее

Показать сообщение отдельно
Priorzivil
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 11
11.03.2013, 18:07     Использовать представление графа в виде списков смежности добавить в орграф новую вершину
Народ меня тут 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru