본문 바로가기
반응형

Problem Solving232

[그리디] 백준 1202번: 보석 도둑 / 골드2 https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net import collections import heapq import sys n, m = map(int, sys.stdin.readline().split()) jem = collections.defaultdict(list) for i in range(n): w, v = list(map(int, sys.stdin.readline().spl.. 2021. 5. 31.
[DFS, BFS] 백준 2583번: 영역 구하기 / 실버1 https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net import sys sys.setrecursionlimit(15000) y_lim, x_lim, n = map(int,input().split()) graph = [] for i in range(x_lim): graph.append([0]*y_lim) for i in range(n): x1, y1, x2, y2 = map(int,input().split()) for j in r.. 2021. 5. 31.
[DFS, BFS] 백준 1987번: 알파벳 *** / 골드4 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net x_lim, y_lim = map(int, input().split()) graph = [] for i in range(x_lim): graph.append(input()) dx = [-1,1,0,0] dy = [0,0,-1,1] def dfs(x,y,count, visited): global answer if graph[x][y] in visited: answer = max(answer,.. 2021. 5. 31.
[DFS, BFS] 백준 2468번: 안전 영역 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net import sys import copy sys.setrecursionlimit(15000) n = int(input()) max_num = -sys.maxsize min_num = sys.maxsize graph = [] for i in range(n): lst = list(map(int,input().split())) graph.append(lst) max_num = max(max_num, max(l.. 2021. 5. 30.
[DFS, BFS] 백준 11403번: 경로 찾기 https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net import collections n = int(input()) graph = collections.defaultdict(list) for i in range(n): edges = list(map(int, input().split())) for j in range(len(edges)): if edges[j] == 1: graph[i].append(j) def dfs(node): if node in discovered: return disc.. 2021. 5. 29.
[DFS, BFS] 백준 14502번: 연구소 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net import copy import sys x_lim, y_lim = map(int, input().split()) table = [] virus = [] empty = [] for i in range(x_lim): table.append(list(map(int, input().split()))) for j in range(y_lim): if table[i][j] == 2: virus.append([i, j]).. 2021. 5. 29.
반응형