본문 바로가기
백준 알고리즘/플로이드 와샬 알고리즘

백준 2606번 C++

by paysmile 2019. 1. 5.

#include <iostream>

using namespace std;


int computernum, computercnt;

int comconnect[100][100];

int visit[100];


void bfs(int a,int b) {

int com1 = a;

int com2 = b;


comconnect[com1][com2] = 0;

visit[com2] = 1;

for (int i = 0; i < 100; i++) {

if (comconnect[com2][i] != 0 && visit[i] ==0)

bfs(com2,i);

}

}

int main(void) {

cin >> computernum >> computercnt;


for (int i = 0; i < 100; i++) {

for (int j = 0; j < 100; j++) {

comconnect[i][j] = 0;

}

visit[i] = 0;

}

for (int i = 0; i < computercnt; i++) {

int x, y;

cin >> x >> y;

comconnect[x][y] = 1;

comconnect[y][x] = 1;

}

for (int i = 0; i < 100; i++) {

if (comconnect[1][i] != 0)

bfs(1,i);

}

int count = 0;

for (int i = 0; i < 100; i++) {

if (visit[i] == 1) 

count++;

}

cout << count-1;

}

'백준 알고리즘 > 플로이드 와샬 알고리즘' 카테고리의 다른 글

합승 택시 요금  (0) 2021.04.06