반응형 알고리즘250 [백준][Python] 14267번 회사 문화 1 14267번: 회사 문화 1 영선회사에는 매우 좋은 문화가 있는데, 바로 상사가 직속 부하를 칭찬하면 그 부하가 부하의 직속 부하를 연쇄적으로 칭찬하는 내리 칭찬이 있다. 즉, 상사가 한 직속 부하를 칭찬하면 그 부하 www.acmicpc.net 코드 처음에는 칭찬을 받은 직원을 입력받을 때마다 트리를 순회해서 해당 직원의 부하 직원을 모두 찾아 값을 더해줬는데 시간 초과가 났다. import sys from collections import defaultdict def dfs(a,b): visit = [False]*(n+1) queue = [] queue.append(a) while queue: next = queue.pop() if visit[next]: continue visit[next] = Tr.. 2022. 9. 30. [백준][Python] 1240번 노드사이의 거리 1240번: 노드사이의 거리 N(2≤N≤1,000)개의 노드로 이루어진 트리가 주어지고 M(M≤1,000)개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. www.acmicpc.net 코드 import sys from collections import defaultdict def find(a,b): queue = [] queue.append((a,0)) visit[a] = True while queue: next,len = queue.pop() if next == b: return len for i,l in dic[next]: if visit[i]: continue visit[i] = True queue.append((i,l+len)) n,m = map(int,input().split().. 2022. 9. 29. [백준][Python] 4803번 트리 4803번: 트리 입력으로 주어진 그래프에 트리가 없다면 "No trees."를, 한 개라면 "There is one tree."를, T개(T > 1)라면 "A forest of T trees."를 테스트 케이스 번호와 함께 출력한다. www.acmicpc.net 코드 import sys from collections import defaultdict def check(j): ret = True queue = [j] while queue: a = queue.pop() if visit[a] == 1: # 사이클 ret = False visit[a] = 1 for k in dic[a]: if k == a: ret = False if visit[k] == 0: queue.append(k) return ret .. 2022. 9. 27. [백준][Python] 2824번 최대공약수 2824번: 최대공약수 첫째 줄에 N(1 ≤ N ≤ 1000)이 주어진다. 둘째 줄에는 N개의 양의 정수가 공백으로 구분되어 주어진다. 이 수는 모두 1,000,000,000보다 작고, N개의 수를 곱하면 A가 된다. 셋째 줄에 M(1 ≤ M ≤ 1000)이 www.acmicpc.net 코드 def gcd(n,m): while m>0: n,m = m, n%m return n n = int(input()) n_list = list(map(int,input().split())) m = int(input()) m_list = list(map(int,input().split())) n_num = 1 m_num = 1 for i in n_list: n_num *= i for i in m_list: m_num *=.. 2022. 9. 26. 이전 1 ··· 20 21 22 23 24 25 26 ··· 63 다음 반응형