[BOJ][Java] 1707번 이분 그래프
·
PS
문제 링크 : https://www.acmicpc.net/problem/1707 위의 문제는 그래프를 2개의 집합으로 나누었을 때 각각의 집합에 인접한 정점이 없는지를 확인하는 문제이다.단순히 생각해 보면 한 정점의 바로 옆에 있는 정점을 다른 집합으로 정했을 때 문제가 없을지 확인하면 된다.경우의 수를 생각해 보면 아래와 같은 경우가 있다. 첫 번째로 만약 일직선의 경우 1번 노드를 0 집합에 넣고2번 노드를 1 집합 3번 노드를 0 집합에 넣는다면 해당 그래프는 이분 그래프라고 할 수 있다. 따라서 일직선의 경우에는 이분 그래프의 조건을 만족한다. 두 번째로 순환그래프 중 문제가 발생하는 경우이다.홀수개로 이루어진 정점이 순환되는 위와 같은 형태의 그래프에서는1번과 3번 노드가 둘 다 0 집합에 들어..
[BOJ][Java] 18352번 특정 거리의 도시 찾기
·
PS
문제 링크 : https://www.acmicpc.net/problem/18352 위의 문제는 전형적인 그래프를 이용한 문제이다.정점과 정점 사이의 간선의 길이가 모두 1이기 때문에 가중치가 없는 그래프라고 생각하면 된다. ArrayList []로 그래프를 표현하고 시작 정점으로부터 BFS로 순회하며 시작 정점과 떨어진 거리가 K인 정점을 찾으면 된다.시간을 좀 더 줄이기 위해 break에 라벨을 달아 바로 while 문이 종료될 수 있도록 했다. (방문배열을 -1 로 초기화하여 방문여부를 판단해도 괜찮다.)package boj;import java.util.*;import java.io.*;public class BOJ18352 { static int K; static int N; st..