본문 바로가기

알고리즘/백준알고리즘5

백준 3184번 - 양 c++ https://www.acmicpc.net/problem/3184 3184번: 양 문제 미키의 뒷마당에는 특정 수의 양이 있다. 그가 푹 잠든 사이에 배고픈 늑대는 마당에 들어와 양을 공격했다. 마당은 행과 열로 이루어진 직사각형 모양이다. 글자 '.' (점)은 빈 필드를 의미하며, 글자 '#'는 울타리를, 'o'는 양, 'v'는 늑대를 의미한다. 한 칸에서 수평, 수직만으로 이동하며 울타리를 지나지 않고 다른 칸으로 이동할 수 있다면, 두 칸은 같은 영역 안에 속해 있다고 한다. 마당에서 "탈출"할 수 있는 칸은 어떤 영역에도 속하지 www.acmicpc.net 뒷마당에 울타리에 양을 키우고 있는데 이때 살아남는 양과 늑대의 수를 구하는 알고리즘 문제이다. 문제에 입력을 받는 요소는 필드 = '.' ,.. 2019. 8. 23.
백준 2667번 - 단지번호붙이기 c++ 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net 지도는 최대 25x25이며 1은 집이있는곳을, 0은 집이없는곳을 나타내고 1이 연결된 집들을 단지라고 한다. 출력은 단지의수와 단지내 집의수를 오름차순하는것이 문제입니다. 이 문제는 탐색알고리즘을 사용해야하며 저는 BFS알고리즘을.. 2019. 8. 8.
백준 1260번 - DFS 와 BFS C++ https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. www.acmicpc.net 탐색알고리즘의 종류인 DFS와 BFS를 구현하는 문제이다. 깊이우선탐색인 DFS(Depth First Search) 와 너비우선탐색인 BFS(Breadth First Search) 는 정점의 시작부터 끝까지 연결되어 있는 모든 노드들을 탐색하는 방법은 똑같으나 순서의 차이가 있다. 첫번.. 2019. 8. 4.
백준 2455번 - 지능형 기차 C++ https://www.acmicpc.net/problem/2455 2455번: 지능형 기차 최근에 개발된 지능형 기차가 1번역(출발역)부터 4번역(종착역)까지 4개의 정차역이 있는 노선에서 운행되고 있다. 이 기차에는 타거나 내리는 사람 수를 자동으로 인식할 수 있는 장치가 있다. 이 장치를 이용하여 출발역에서 종착역까지 가는 도중 기차 안에 사람이 가장 많을 때의 사람 수를 계산하려고 한다. 단, 이 기차를 이용하는 사람들은 질서 의식이 투철하여, 역에서 기차에 탈 때, 내릴 사람이 모두 내린 후에 기차에 탄다고 가정한다. 내린 사람 수 www.acmicpc.net 4개의 역이 있고 이때 1번역은 내린사람이 당연히 0 이고, 마지막 4번째 역은 종착역으로 당연히 타는사람이 없다고 가정한다. 일단 4개의.. 2019. 8. 3.