본문 바로가기

Algorithm29

[BAEKJOON] 10430번: 나머지 10430번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. A, B, C = map(int, input().split(" ")) print((A+B)%C) print(((A%C) + (B%C))%C) print((A*B)%C) print(((A%C) * (B%C))%C) 2021. 11. 22.
[BAEKJOON] 1753번: 최단경로 1753번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. import heapq import sys input = sys.stdin.readline v, e = map(int, input().split()) start = int(input()) - 1 dist = [float('inf') for i in range(v)] dist[start] = 0 linked = [[] for i in range(v)] for i in range(e): a, b, w = map(int, input().split()) linked[a - 1].append((w, a - 1, b - 1)) heap = [] for w, a, b in linked[start]: heapq.heappush(.. 2021. 11. 16.
[BAEKJOON] 1450번: 냅색문제 1450번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. import sys def brute_force(index, w, things, size, result): if index >= size: result.append(w) return brute_force(index + 1, w, things, size, result) brute_force(index + 1, w+things[index], things, size, result) def binary_search(start, end, key, arr): while start < end : mid = (start + end) // 2 if arr[mid] 2021. 11. 16.
[BAEKJOON] 10451번: 순열 사이클 10451번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. import sys sys.setrecursionlimit(10000) input = sys.stdin.readline test_case = int(input()) def DFS(node): visited[node] = True next_node = tree[node] if not visited[next_node]: DFS(next_node) for _ in range(test_case): N = int(input()) tree = [0] + list(map(int, input().split())) visited = [False] * (N+1) answer = 0 for i in range(1, N+1): if .. 2021. 11. 8.
[BAEKJOON] 2667번: 단지번호붙이기 2667번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. 2차원 리스트 형태의 그래프 탐색이다. 탐색할 방향을 좌표의 형태로 리스트에 담아놓은 후, for 문을 통해서 4방향 탐색을 진행하면 된다. 그 다음으로는 조건문을 통해 다음에 방문할 노드가 범위를 초과하는지 체크한 후, 방분 여부를 결정하면 된다. import sys input = sys.stdin.readline N = int(input()) graph = [list(input().rstrip()) for i in range(N)] visited = [[0] * N for i in range(N)] houses = [] house = 0 def search(i, j): global house if i < 0 o.. 2021. 11. 8.
[BAEKJOON] 13977번: 이항 계수와 쿼리 13977번 문제이다. 사진을 누르면 문제로 이동한다. 문제는 Python언어로 구현하였다. input = __import__('sys').stdin.readline MOD = int(1e9 + 7) N = 4 * int(1e6) + 1 factorial = [1] * N for i in range(1, N): factorial[i] = (factorial[i-1] * i) % MOD for _ in range(int(input())): n, k = map(int, input().split()) A = factorial[n] B = (factorial[k] * factorial[n - k]) % MOD B2 = 1 expo = MOD - 2 while expo: if expo % 2: B2 = (B * .. 2021. 11. 3.