백준

https://www.acmicpc.net/problem/24479 24479번: 알고리즘 수업 - 깊이 우선 탐색 1 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양 www.acmicpc.net import sys sys.setrecursionlimit(10**5) n,m,r=map(int,sys.stdin.readline().split()) visited=[0 for _ in range(n+1)] graph=[[] for _ in range(n+1)] cnt=1 def dfs(start): global cnt vi..
https://www.acmicpc.net/problem/9934 9934번: 완전 이진 트리 상근이는 슬로베니아의 도시 Donji Andrijevci를 여행하고 있다. 이 도시의 도로는 깊이가 K인 완전 이진 트리를 이루고 있다. 깊이가 K인 완전 이진 트리는 총 2K-1개의 노드로 이루어져 있다. (아래 www.acmicpc.net import sys k=int(sys.stdin.readline()) array=list(map(int,sys.stdin.readline().split())) layer=[[] for _ in range(k+1)] for n in range(k,0,-1): i=0 while 2**(k-n)+i*(2**(k-n+1))
https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net import sys class Node: def __init__(self,data,left_node,right_node): self.data=data self.left_node=left_node self.right_node=right_node nodes={} def pre_order(node): print(node.data,end='') if node.left_node!=None: pr..
https://www.acmicpc.net/problem/14244 14244번: 트리 만들기 n과 m이 주어졌을 때, n개의 노드로 이루어져 있고, m개의 리프로 이루어져 있는 트리를 만드는 프로그램을 작성하시오. 항상 정답이 존재하는 경우만 입력으로 주어진다. 트리는 사이클이 없는 www.acmicpc.net import sys n,m=map(int,sys.stdin.readline().split()) print(0,1) for i in range(1,n-m+1): print(i,i+1) if m!=2: for i in range(n-m+2,n): print(n-m,i) m>2인 경우 0번 노드와 마지막 m-1개의 노드를 리프 노드로 만들면 된다. 예로 n=6, m=4일 때, 0번 노드가 하나의 리프..
https://www.acmicpc.net/problem/25682 25682번: 체스판 다시 칠하기 2 첫째 줄에 정수 N, M, K가 주어진다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net n,m,k=map(int,input().split()) blackBoard=[[0 for _ in range(m+1)] for _ in range(n+1)] whiteBoard=[[0 for _ in range(m+1)] for _ in range(n+1)] black=True white=False array=[] for i in range(n): array.append(list(input())) for j in range(m): if ..
https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net import sys n,m=map(int,sys.stdin.readline().split()) array=[] prefixSum=[[0 for _ in range(n+1)] for _ in range(n+1)] for i in range(n): array.append(list(map(int,input().split()))) for i in range(1,..
째로스
'백준' 태그의 글 목록 (10 Page)