본문 바로가기

Problem Solving94

[Divide and Conquer] 1629 곱셈 https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net # 2023.01.01 import sys input = sys.stdin.readline a, b, c = map(int, input().split()) def DAC(a, b, c): if b==1: return a%c if b%2==0: return (DAC(a, b//2, c)**2)%c elif b%2==1: return ((DAC(a, b//2, c)**2)*a)%c print(DAC(a, b, c)) 1. b==1일때 a 2. b는 짝수일때 DAC*.. 2023. 1. 1.
[DP] 1149 RGB거리 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net # 2023.01.01 import sys input = sys.stdin.readline n = int(input()) RGB = [list(map(int, input().split())) for _ in range(n)] dp=[[0]*(n) for _ in range(n)] dp[0][0]=RGB[0][0] #red dp[0][1]=RGB[0][1] #green dp[0.. 2023. 1. 1.
[DFS] 11725 트리의 부모 찾기 https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net import sys input = sys.stdin.readline sys.setrecursionlimit(10**9) n = int(input()) tree = [[] for _ in range(n+1)] for _ in range(n-1): a, b = map(int, input().split()) tree[a].append(b) tree[b].append(a) answer=[-1]*(n+1) def dfs(vertex): for i in tree[vert.. 2023. 1. 1.
[Greedy] 16953 A->B https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A b 로 푸는 것보다는 b->a로 생각하는게 더 쉽다 1. a==b가 될 때까지 cnt+=1 2. b의 제일 오른쪽 1을 빼는게 더 연산 횟수가.. 2022. 12. 31.