문제출처: https://www.acmicpc.net/problem/5567
그래프구현문제입니다.
풀이
보기의 예제를 보면, 1과 연결되있는 노드중에서 그 노드와 연결되어있는 노드의 개수를 찾는 문제입니다.
사실 이것만 구현하면 끝입니다....설명은 소스코드로..
코드
#include<iostream> using namespace std; int map[501][501]; int check[501]; int n, m,a,b, cnt; int main() { cin >> n >> m; for (int i = 0; i < m; i++) { cin >> a >> b; map[a][b] = 1; map[b][a] = 1; } for (int i = 2; i <= n; i++) { //만약 1과연결되있으면 if (map[1][i]) { //방문처리 check[i] = 1; for (int j = 2; j <= n; j++) { //그 노드에서 연결된 노드를 방문처리 if (map[i][j] == 1) check[j] = 1; } } } for (int i = 2; i <= n; i++) { //1되어있는 노드=1과연결되있는 노드와 연결되어있는 노드 수 if (check[i] == 1) cnt++; } cout << cnt << endl; }
결과
'문제풀이(BOJ) > 시뮬레이션(구현)' 카테고리의 다른 글
[백준 5533] 유니크 (0) | 2020.01.19 |
---|---|
[백준 9517] 아이 러브 크로아티아 (0) | 2020.01.19 |
[백준 1120] 문자열 (0) | 2020.01.09 |
[백준 2526] 싸이클 (0) | 2020.01.09 |
[백준 11507] 카드셋트 (0) | 2020.01.08 |