본문 바로가기

Problem Solving/BOJ60

[DFS] python 2644 촌수계산 https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net # 2023.01.23 import sys input = sys.stdin.readline n = int(input()) a, b = map(int, input().split()) # start, end m = int(input()) graph = [[] for _ in range(n+1)] # n명의 사람들 for _ in range(m): x, y = map(int, inp.. 2023. 1. 23.
[Greedy] python 13904 과제 https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net # 2023.01.22 import sys input = sys.stdin.readline n = int(input()) # 과제의 수 homework = [list(map(int, input().split())) for _ in range(n)] # 남은 일수, 점수 homework.sort(key = lambda x: (-x[1], x[0])) # 과제 점수가 가장 높은 순, 날짜 조금 남은 순으로 정렬 # [[4, 60], [2, 50.. 2023. 1. 22.
[BFS] python 2206 벽 부수고 이동하기 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net # 2023.01.21 import sys input = sys.stdin.readline from collections import deque n, m = map(int, input().split()) # nXm행렬 wall=[list(map(int, str(input().rstrip()))) for _ in range(n)] # 이동 방향 dy = [1, -1, 0, .. 2023. 1. 22.
[Divide and Conquer] python 10830 행렬 제곱 https://www.acmicpc.net/problem/10830 10830번: 행렬 제곱 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. www.acmicpc.net # 2023.01.21 import sys input = sys.stdin.readline n, b = map(int, input().split()) # nXn행렬, A^b행렬 구하기 A = [list(map(int, input().split())) for _ in range(n)] # 행렬의 곱 def multi(A, B): mulA=[[0]*(n) for _ in range(n)] for i in range.. 2023. 1. 21.