본문 바로가기

c104

[백준/C,C++] 1654번: 랜선 자르기 www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 풀이 이분 탐색으로 푸는 문제입니다. 예제 입력으로 보면 4 11 802 743 457 539 에서 1을 최소로, 802(가장 큰 값)를 최대로 두고 이분 탐색을 시작하면 되는데, 조건은 해당 값으로 존재하는 랜선을 모두 나누었을 때 필요한 랜선의 개수만큼 나오는지 체크하면 됩니다. #include #include using namespace std; using LL = long l.. 2021. 4. 20.
[백준/C,C++] 7576번: 토마토 www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 풀이 2차원 배열이 주어지는 여타 다른 BFS 문제들과 비슷합니다. 크게 다른 점은 출발 지점이 정해져 있지 않다는 건데요. 익은 토마토, 즉 1인 지점을 모두 시작 지점으로 BFS를 실행시켜야 한다는 겁니다. 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 과 같은 예제가 입력되었다고 봅시다. 1일이 지난 후 토마토들은 아래와 같게 됩니다. 1 1 .. 2021. 4. 20.
[백준/C,C++] 2667번: 단지번호붙이기 www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 hackids.tistory.com/76 [백준/C,C++] 2178번: 미로 탐색 www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicp.. hackids.tistory.com 2178번: 미로 탐색에서 발.. 2021. 4. 20.
[백준/C,C++] 2178번: 미로 탐색 www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 풀이 간단한 BFS 문제입니다. 이동 가능한 방향은 최대 4방향(상, 하, 좌, 우)이며, BFS로 0을 제외한 모든 노드에 대해 깊이를 계산해 준 후에 (N, M)의 깊이를 출력해 주면 됩니다. 유의해야 할 점은 모든 노드에서 4방향(상, 하, 좌, 우)으로 이동할 수 있는 것은 아니기에 해당 방향으로 갈 수 있는지, 해당 방향의 노드가 갈 수 있는 지점(1이면 가능, 0이면 불가능)인지 체크하고, 방문했던 곳인지를 체크해주면 됩니다. #i.. 2021. 4. 20.