Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Graph {
- private:
- int** adjacencyMatrix;
- int vertexCount;
- public:
- Graph(int vertexCount) {
- this->vertexCount = vertexCount;
- adjacencyMatrix = new int*[vertexCount];
- for (int i = 0; i < vertexCount; i++) {
- adjacencyMatrix[i] = new int[vertexCount];
- for (int j = 0; j < vertexCount; j++)
- adjacencyMatrix[i][j] = 0;
- }
- }
- void addEdge(int i, int j) {
- if (i >= 0 && i < vertexCount && j > 0 && j < vertexCount) {
- adjacencyMatrix[i][j]++;
- adjacencyMatrix[j][i]++;
- }
- }
- void print(int n){
- for (int i = 1; i <= n; i++) {
- for (int j = 1; j <= n; j++) {
- cout << adjacencyMatrix[i][j] << " ";
- }
- cout << "\n";
- }
- }
- ~Graph() {
- for (int i = 0; i < vertexCount; i++)
- delete[] adjacencyMatrix[i];
- delete[] adjacencyMatrix;
- }
- };
- int main() {
- int q, s = 0;
- cin >> q >> s;
- Graph a(s);
- int n = 0;
- int m = 0;
- for (int i = 0; i < s; i++) {
- cin >> n >> m;
- a.addEdge(n, m);
- }
- cout << q << endl;
- a.print(q);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement