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, ребер, создали
Добавлено: 11 Мая 2016 19:59:43 Добавил: Максим Терентьев Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...