[백준 1976번 C/C++] 여행 가자
글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다
목차
[백준 1976번 C/C++] 여행 가자
https://www.acmicpc.net/problem/1976
1976번: 여행 가자
동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인
www.acmicpc.net
해결전략
Union & Find
코드
#include<stdio.h>
#include<vector>
using namespace std;
int n, m;
int city[201];
int Find(int k)
{
if(city[k]==k) return k;
return city[k]=Find(city[k]);
}
void Union(int a, int b)
{
a=Find(a);
b=Find(b);
if(a != b) city[a]=b;
}
int main() {
scanf("%d", &n);
scanf("%d", &m);
for(int i=1; i<=n; i++){
city[i]=i;
}
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++){
int input;
scanf("%d", &input);
if(input==1) { Union(i, j); }//도시 이어주기
}
}
int prev;
scanf("%d", &prev);
for(int i=1; i<m; i++)
{
int curr;
scanf("%d", &curr);
if(Find(prev)!=Find(curr))
{
printf("NO\n");
return 0;
}
curr=prev;
}
printf("YES\n");
return 0;
}
유사문제
2023.05.23 - [코딩테스트/백준] - [백준 1717번 C/C++] 집합의 표현
[백준 1717번 C/C++] 집합의 표현
목차 [백준 1717번 C/C++] 집합의 표현 https://www.acmicpc.net/submit/1717/61218850 로그인 www.acmicpc.net 해결전략 Union(합집합) Find 코드 #include using namespace std; int n, m; int unf[1000001]; int Find(int k) { if (unf[k] == k) ret
designerd.tistory.com
'⭐ 코딩테스트 > 백준' 카테고리의 다른 글
[백준 2908번 C/C++] 상수 (0) | 2023.05.29 |
---|---|
[백준 10809번 C/C++] 알파벳 찾기 (0) | 2023.05.26 |
[백준 1904번 C/C++] 01타일 (0) | 2023.05.25 |
[백준 1717번 C/C++] 집합의 표현 (0) | 2023.05.23 |
[백준 2164번 C/C++] 카드2 (0) | 2023.05.23 |
댓글
이 글 공유하기
다른 글
-
[백준 2908번 C/C++] 상수
[백준 2908번 C/C++] 상수
2023.05.29 -
[백준 10809번 C/C++] 알파벳 찾기
[백준 10809번 C/C++] 알파벳 찾기
2023.05.26 -
[백준 1904번 C/C++] 01타일
[백준 1904번 C/C++] 01타일
2023.05.25 -
[백준 1717번 C/C++] 집합의 표현
[백준 1717번 C/C++] 집합의 표현
2023.05.23