백준154 백준 1926 c++ "그림" -[PlusUltraCode] https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net [필자 사고] 이 문제는 BFS탐색 알고리즘을 이용하면 쉽게 풀 수 있다. 특이한 점은 1과 0의 구역을 구별하는게 핵심 포인트다. [소스 코드] #include #include #include using namespace std; int N, M; vector Arr; vector visited; void Input() { cin >> N >> M; Arr.resize(N); visited.resiz.. 2024. 3. 5. 백준 2636 c++ "치즈" -[PlusUltraCode] https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net [필자 사고] 이 문제는 BFS탐색 알고리즘을 사용하면 해결할 수 있는 문제이다. 특이한 점은 치즈의 안과 밖을 구분해야 된다는 점이다. 처음에는 2번의 BFS를 이용하여 안과 밖을 구분하겠다 생각 했지만 1번의 BFS만으로 안과 밖을 구분할 수 있던걸 깨닫고 코드로 만들었다. [소스 코드] #include #include #include using namespace std; typedef struct Cheeze .. 2024. 3. 5. 백준 16234 c++ "인구이동" -[PlusUltraCode] https://www.acmicpc.net/problem/16234 16234번: 인구 이동N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모www.acmicpc.net[필자 사고]이 문제는 BFS()탐색을 이용하여 푸는 문제이다. 필자는 2차원 배열의 Union을 활용하여 문제를 풀었다. 코드가 매우 복잡하여 문제를 해결하고 다른 분들의 코드를 확인한 결과 2차원 배열 Union을 쓰지 않고도 BFS하나로 해결한 모습을 알 수 있었다. BFS탐색에 관하여 많이 깨닫게 되는 문제였다. [소스 코드]#include #include #include usin.. 2024. 3. 4. 백준 2573 c++ "빙산" -[PlusUltraCode] https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net [필자 사고] 이 문제는 BFS탐색 알고리즘을 사용하여 풀 수 있는 문제이다. 이 문제의 특이한 점은 빙하가 녹는 점을 굳이 BFS탐색이 아닌 완전 탐색으로 구현 가능하다는 점이다. 구현하는데 다소 어려울 수 있는 문제이다. [소스 코드] #include #include #include using namespace std; typedef pair Node; vector Arr; int N, .. 2024. 3. 3. 이전 1 ··· 23 24 25 26 27 28 29 ··· 39 다음