[BOJ/DFS+BFS] 백준 14502 - 연구소 (Java)
·
✏️/BOJ
14502 - 연구소https://www.acmicpc.net/problem/14502문제바이러스 확산을 막기 위해 연구소 벽을 세우려 함연구소 크기 NxM 직사각형, 직사각형은 1x1 정사각형으로 나눠져 있음/ 빈 칸, 벽으로 이뤄져 있으며 벽은 칸 하나를 가득 차지/ 일부 칸은 바이러스 존재, 상하좌우로 인접한 빈 칸 모두 퍼져나갈 수 있음/ 세울 수 있는 벽의 개수 3개고 꼭 세워야 함=> 연구소 지도가 주어졌을 때 얻을 수 있는 안전 영역의 크기의 최댓값입력첫째 줄: 지도의 세로 크기 N, 가로 크기 M (3 둘째 줄 ~ N개의 줄: 지도 모양 (0 빈 칸, 1 벽, 2 바이러스) (2 출력: 얻을 수 있는 안전 영역의 최대 크기풀이DFS(백트래킹)벽 세우기 벽 3개 세우면 바이러스 퍼트리기(`b..
[BOJ/Dijkstra] 백준 1504 - 특정한 최단 경로 (Java)
·
✏️/BOJ
1504 - 특정한 최단 경로https://www.acmicpc.net/problem/1504문제방향성 X 그래프/ 1 ~ N번 정점으로 최단 거리 이동 (임의로 주어진 두 정점 반드시 통과)한번 이동했던 정점, 간선 다시 이동 O입력첫째 줄: 정점의 개수 N (2 둘째 줄 ~ E개의 줄: a, b, c (1 다음 줄: 반드시 거쳐야 하는 두 개의 서로 다른 정점 번호 v1, v2 (v1 != v2, v1 != N, v2 != N)(임의의 두 정점 u, v 사이에 간선 최대 1개 존재)출력: 두 개의 정점 지나는 최단 경로 길이 / 없으면 -1풀이Dijkstra(다익스트라) 알고리즘한 정점으로부터 다른 모든 정점까지의 최단 거리(최소 비용)가장 가까운 노드부터 탐색하면서 주변 노드의 거리 하나씩 갱신현재..
[BOJ/MST] 백준 1647 - 도시 분할 계획 (Java)
·
✏️/BOJ
1647 - 도시 분할 계획https://www.acmicpc.net/problem/1647문제마을은 N개의 집과 그 집들을 연결하는 M개의 길로 이뤄짐길은 어느 방향으로든지 다닐 수 있고 길을 유지하는데 드는 유지비 있음마을을 2개의 분리된 마을로 분할할 계획 -> 분할 시 각 분리된 마을 안에 집들이 서로 연결 = 각 분리된 마을 안에 있는 임의의 두 집 사이 경로 항상 존재/ 마을에 집이 하나 이상 있어야 함, 분리된 마을 사이 있는 길 없앨 수 있음=> 길 모두 없애고 나머지 길의 유지비 합 최소입력첫째 줄: 집의 개수 N (2 다음 줄 ~ M줄: 길의 정보 A B C (1 (임의의 두 집 사이에 경로가 항상 존재하는 입력만 주어짐)출력: 없애고 남은 길 유지비의 합의 최솟값풀이Kruskal 알고..
[BOJ] 백준 2252 - 줄 세우기 (Java)
·
✏️/BOJ
2252 - 줄 세우기https://www.acmicpc.net/problem/2252문제N명의 학생 키 순서대로 줄 세움두 학생의 키를 비교하는 방법 사용 (모든 학생 다 비교 X 일부 O)=> 일부 학생들의 키 비교한 결과 주어졌을 때 줄 세우는 프로그램입력첫째 줄: N (1 다음 M개의 줄: 키를 비교한 두 학생의 번호 A, B (A가 B 앞에 서야 함)(학생들의 번호 1 ~ N번)출력: 학생들을 앞에서부터 줄을 세운 결과(답 여러 가지인 경우 아무거나 출력)풀이위상정렬(Topological Sort)방향이 있는 비순환 그래프(DAG; Directed Acyclic Graph)에서 모든 간선의 방향 지키며 정점 나열하는 것모든 정점의 진입차수(in-degree) 계산 -> 들어오는 간선 개수진입차수..
[BOJ/DFS+DP] 백준 2533 - 사회망 서비스(SNS) (Java)
·
✏️/BOJ
2533 - 사회망 서비스(SNS)https://www.acmicpc.net/problem/2533문제사회망에서 사람들의 친구 관계 그래프로 표현 (사이클 X) (사람 -> 정점 / 두 사람이 서로 친구 관계 -> 정점을 잇는 에지)-> 사회망 서비스에서 어떤 새로운 아이디어가 전파되는 과정 이해얼리 어답터(early adaptor): 어떤 새로운 아이디어를 먼저 받아들인 사람/ 얼리 어답터가 아닌 사람은 자신의 모든 친구들이 얼리 어답터일 때만 이 아이디어 받아들임=> 친구 관계 트리가 주어졌을 때 모든 개인이 새로운 아이디어를 수용하기 위해 필요한 최소 얼리 어답터 수?입력첫째 줄: 친구 관계 트리의 정점 개수 N (2 두 번째 줄 N - 1개의 줄: 각 줄마다 친구 관계 트리의 에지(u, v) 나타..
[BOJ/BFS] 백준 16954 - 움직이는 미로 탈출 (Java)
·
✏️/BOJ
16954 - 움직이는 미로 탈출https://www.acmicpc.net/problem/16954문제8x8 체스판에서 탈출하는 게임/ 모든 칸은 빈 칸 or 벽 중 하나시작: 가장 왼쪽 아랫 칸 / 도착: 가장 오른쪽 윗 칸1초마다 모든 벽이 아래에 있는 행으로 한 칸씩 내려가고 가장 아래에 있어서 행 X -> 벽 사라짐1초에 인접한 한 칸 or 대각선 방향으로 인접한 한 칸 이동 or 현재 위치 서 있을 수 있음 (빈칸으로만 이동)1초 동안 캐릭터 먼저 이동 -> 벽 이동/ 벽이 캐릭터 있는 칸으로 이동하면 캐릭터 이동 X=> 가장 오른쪽 윗 칸으로 이동할 수 있는지 없는지입력: 8개 줄에 걸쳐 체스판 상태 주어짐 ('.' 빈칸 / '#' 벽)/ 가장 왼쪽 아랫칸 항상 벽 X출력: 가장 오른쪽 윗 칸..
kimmeoww
'분류 전체보기' 카테고리의 글 목록 (3 Page)