Graph_1
//Раздел 1. №1. Дан неориентированный граф. Вывести количество вершин, смежных с данной.
#include <iostream>
#include <vector>
using namespace std;
const int N = 1000;
int main()
{
//V - кол-во вершин, E - кол-во ребер.
int V, E;
//Пара вершин.
int x, y;
//Т.е. создали массив векторов(vector<int> вместо int). Ячейка массива - это вектор, который также состоит из ячеек.
vector<int>a
;
//Вводим кол-во вершин.
cout << "Enter the number of vertices: ";
cin >> V;
//Ввоим кол-во рёбер.
cout << "Enter the number of edges: ";
cin >> E;
//В цикле по числу рёбер.
for (int i = 0; i < E; i++)
{
//Вводим пару вершин.
cout << "Enter pair: ";
cin >> x >> y;
//В ячейку с номером 1-го элемента(x) кладём второй(y) и делаем наоборот, так как граф неориентированный.
//Т.о. в массивк a[N] в ячейке с номером вершины будут лежать смежные с ней вершины.
a[x].push_back(y);
a[y].push_back(x);
}
//По заданию вводим вершину.
int p;
cout << "Enter the vertice: ";
cin >> p;
//Выводим кол-во вершин, смежных с ней, т.е. в массиве a[N] заходим в p ячейку и выводим её размерность(т.е. вектора, который в ней лежит).
cout << "Answer: " << a[p].size() << endl;
system("pause");
return 0;
}[CPP]
Теги:
вершин,
Enter,
vector,
вершины,
Вводим,
рёбер,
include,
номером,
ячейку,
number,
лежать,
будут,
массивк,
делаем,
наоборот,
заданию,
ячейке,
vertice,
лежит,
вектора,
Answer,
system,
return,
pause,
размерность,
выводим,
кладём,
вершину,
Выводим,
массиве,
заходим,
вводим,
edges,
ребер,
создали
Комментарии:
Нету комментариев для вывода...