목록Computer Science (244)
DHistory
문제
문제 27737번: 버섯 농장 첫 번째 줄에 $N$, $M$, $K$가 공백으로 구분되어 주어진다. 두 번째 줄부터 $N$개의 줄에 나무판의 각 칸의 상태가 공백으로 구분되어 주어진다. 버섯이 자랄 수 있는 칸은 0, 버섯이 자랄 수 없는 칸 www.acmicpc.net 풀이 """ N x N 칸으로 이루어진 나무판에서 버섯 농사 버섯이 "자랄 수 있는 칸"과 버섯이 "자랄 수 없는 칸"이 있다. M개의 버섯 포자를 가지고 있다. 버섯이 자랄 수 있는 칸에만 심을 수 있다. 포자가 심어진 칸을 포함해 최대 K개의 연결된 칸에 버섯을 자라게 한다. (상하좌우) 버섯 포자를 여러 개 겹쳐서 심을 수 있으며, x개의 버섯 포자를 겹쳐 심으면 포자가 심어진 칸을 포함해 최대 x * K개의 연결된 칸에 버섯이 자..
문제 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net 풀이 """ 우리 병사: 흰색 옷 적국의 병사: 파란색 옷 같은 팀 병사들은 모이면 모일수록 강해진다. N명이 뭉쳐있을 때는 N^2의 위력을 낼 수 있다. 누가 승리할 것인가? 상하좌우로 뭉쳐있는 경우만 생각한다. 81 + 49 = 130 1 + 64 = 65 """ import sys from collections import deque m, n = map(int, sys.stdin.readline().rstrip().split(..
문제 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net 풀이 """ 세로 길이: N 가로 길이: M 음식물 쓰레기의 개수: K 움식물이 떨어진 좌표: R, C """ import sys from collections import deque n, m, k = map(int, sys.stdin.readline().rstrip().split()) graphs = [[0 for _ in range(m + 1)] for _ in range(n + 1)] for _ in range..
문제 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 풀이 """ 그림의 개수와 그림 중 넓이가 가장 넓은 것의 넓이 출력 1로 연결된 것을 한 그림이라고 정의 가로나 세로로 연결된 된 것이 그림 그림의 넓이란 그림에 포함된 1의 개수 """ import sys from collections import deque n, m = map(int, sys.stdin.readline().rstrip().split()) maps = [] for _ in range(n): maps.append(list(map(int, sys..
문제 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 풀이 """ 어떤 지역의 높이 정보를 파악한다. 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사한다. 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다. N=5 5 6 8 2 6 2 3 2 3 4 6 6 7 3 3 2 7 2 5 3 6 8 9 5 2 7 4 이하인 모든 지점이 물에 잠겼다. 안전한 영역: 물에 잠기지 않는 지점들이 위,아래,오른쪽,왼쪽으로 인접. 그 크기가 최대인 영역 (..
문제 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 import sys from collections import deque n = int(sys.stdin.readline().rstrip()) maps = [] for _ in range(n): maps.append(list(map(int, sys.stdin.readline().rstrip()))) visited = [[False for _ in range(n)] for _ in range(n)] dx = [-1, 0, 1, 0] dy = [0, -1,..
문제 25516번: 거리가 k이하인 트리 노드에서 사과 수확하기 n개의 정점과 n - 1개의 간선으로 구성된 트리 T가 있다. 정점 번호는 0부터 n - 1까지이고 0번 정점이 루트이다. 모든 간선의 길이는 1이다. 트리 T의 각 정점에는 사과가 0개 또는 1개 놓여있다. 루 www.acmicpc.net 풀이 """ n개의 정점 / n - 1개의 간선 번호는 0부터 n - 1까지 0번 정점이 루트 / 모든 간선의 길이는 1 각 정점에는 사과가 0개 또는 1개 놓여있다. 루트 노드에서 거리가 k이하인 노드에 있는 사과를 수확하려고 한다. 수확할 수 있는 사과 개수를 출력하자. 0(1) - 1 - 3(1) ㄴ 4 ㄴ 2 - 5(1) ㄴ 6 - 7(1) 0, 3, 5 => 2개 """ import sys fr..
문제 18126번: 너구리 구구 텔레토비 동산에 사는 너구리 구구는 입구, 거실, 주방, 안방, 공부방, 운동실, 음악실, 음식 창고 등 N개의 방을 가지고 있다. 입구를 포함한 모든 방은 1부터 N까지의 번호가 있고, 입구는 1번이 www.acmicpc.net 풀이 """ 입구 1 / 각 방마다 번호가 새겨짐 입구에서 최대한 먼 방에 아이스크림을 숨긴다. 1 - 2 (3) ㄴ 3 (2) ㄴ 4 (4) 1 - 2 - 4 (7) """ import sys from collections import deque n = int(sys.stdin.readline().rstrip()) nodes = [[] for _ in range(n + 1)] visited = [False] * (n + 1) for _ in r..
문제 21938번: 영상처리 화면의 세로 $N$, 가로 $M$ 값이 공백으로 구분되어 주어진다. 두 번째 줄부터 $N + 1$줄까지 $i$번째 가로를 구성하고 있는 픽셀의 $R_{i,j}$, $G_{i,j}$, $B_{i,j}$의 값이 공백으로 구분되어 총 $M$개 주어진 www.acmicpc.net 풀이 """ 세로의 길이 N 가로의 길이 M RGB 색상의 이미를 담고 있다. - 모든 픽셀에서 "세 가지 색상"을 "평균"내어 경게값 T보다 "크거나 같으면" 255, "작으면" 0으로 바꾼다. - "255인 픽셀은 물체로 인식"한다. - 값이 255인 픽셀들이 "상하좌우로 인접"해있다면 이 픽셀들은 "같은 물체로 인식" 물체가 총 몇 개 있는지 구하는 프로그램을 작성하시오. """ import sys f..