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

Использовать представление графа в виде списков смежности вывести на экран все вершины, не смежные с данной - C++

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

задача 10 Граф 1
использовать представление графа в виде списков смежности
вывести на экран все вершины, не смежные с данной;
input:
Код
6
1 2 3
2 1 3 4
3 1 2 5
4 2 5
5 3 4 6
6 5
6

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
#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);
            g[b].push_back(a);
        }
    }
 
    // вершина из условии задачи
    int v;
    cin >> v;
    --v;
 
    cout << "Vershini ne smeznie s dannoy " << v + 1 << ":" << endl;
    for (int i = 0; i < n; i++) {
        bool f = false;
        for (int j = 0; j < g[v].size(); j++)
            if (i == g[v][j] || i == v) {
                f = true;
                break;
            }
        if (!f)
            cout << i + 1 << ' ';
    }
 
    return 0;
}
Код
Vershini ne smeznie s dannoy 6:
1 2 3 4
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 18:07     Использовать представление графа в виде списков смежности вывести на экран все вершины, не смежные с данной
Посмотрите здесь:

C++ Не смежные вершины матрицы
заданно матрицу смежности простого графа. Построить каркас этого графа с использованием поиска вширь C++
C++ Представление графа в виде списка вершин.
Найти все вершины графа, к которым существует путь заданной длины от вершины, номер которой вводится с клавиатуры. C++
Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности C++
C++ Вывести на экран вершины орграфа, смежные с данной
Вывести на экран вершины орграфа, смежные с данной C++
Найти все вершины графа, к которым от заданной вершины можно добраться по пути не длиннее А C++

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

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

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