반응형
    
    
    
  -문제

-코드
틀렸던 이유 : 인접리스트 사용함(특정 방향으로만 이동가능하게 구현해서 일부 경우의 수를 빼먹음)
인접행렬 사용해서 양방향 이동 가능하게 하여 오류수정
#include<stdio.h>
int n, m, cnt, ch[101], map[101][101];
void DFS(int v) 
{
	ch[v] = 1;
	cnt++;
	for (int i = 1; i <= n; i++)
	{
		if (map[v][i] == 1 && ch[i] == 0)
		{
			DFS(i);
		}
	}
}
int main()
{
	int a, b;
	scanf("%d", &n);
	scanf("%d", &m);
	for (int i = 1; i <= m; i++)
	{
		scanf("%d %d", &a, &b);
		map[a][b] = map[b][a] = 1;
	}
	DFS(1);
	printf("%d", cnt-1);
	return 0;
}반응형
    
    
    
  '이론 > 코딩테스트' 카테고리의 다른 글
| [백준] 1806번 부분합 (투포인터 알고리즘) (0) | 2022.07.29 | 
|---|---|
| [백준] 2003번 수들의 합 2 (투포인터 알고리즘) (0) | 2022.07.29 | 
| [백준] 11724번 연결 요소의 개수 (DFS) (0) | 2022.07.28 | 
| [백준] 1010번 다리놓기 (동적 계획법/Dynamic Programming) (0) | 2022.07.28 | 
| [백준] 1003번 피보나치 함수 (동적 계획법/Dynamic Programming) (0) | 2022.07.28 | 
 
                    
                   
                    
                   
                    
                  