시나브로

[D4] 7465. 창용 마을 무리의 개수 본문

알고리즘/SW Expert Academy

[D4] 7465. 창용 마을 무리의 개수

혬혬 2019. 10. 12. 16:56
728x90
#include <stdio.h>
int connect[101][101] = { 0 };
int q = 0;
int person_amount = 0;
int connect_amount = 0;
void search(int list[],int point) {
	for (int i = 1; i <= person_amount; i++) {
		if (point == i)
			continue;
		if (list[i] != q + 1&&connect[point][i]==q+1) {
			list[i] = q + 1;
			search(list, i);
		}
	}
}

int main() {
	freopen("inp.inp", "r", stdin);
	freopen("out.out", "w", stdout);

	int test_case = 0;
	scanf("%d", &test_case);
	for (q = 0; q < test_case; q++) {
		scanf("%d %d", &person_amount, &connect_amount);
		for (int i = 0; i < connect_amount; i++) {
			int a, b;
			scanf("%d %d", &a, &b);
			connect[a][b] = q+1;
			connect[b][a] = q + 1;
		}
		int visit_list[101] = { 0 };
		int amount = 0;
		for (int i = 1; i <= person_amount; i++) {
			if (visit_list[i] != q+1) {
				amount++;
				visit_list[i] = q + 1;
				search(visit_list, i);
			}
		}
		printf("#%d %d\n", q + 1, amount);
	}
	return 0;
}
728x90

'알고리즘 > SW Expert Academy' 카테고리의 다른 글

9088. 다이아몬드  (0) 2020.01.06
8993. 하지 추측  (0) 2020.01.06
[D4] 7810. 승현이의 질문  (0) 2019.10.06
[D4] 8382. 방향 전환  (0) 2019.10.06
[D3] 7732. 시간 개념  (0) 2019.10.06
Comments