본문 바로가기
반응형

분할정복4

[BOJ][Python]13172 풀이 https://www.acmicpc.net/problem/13172 13172번: Σ 모듈러가 11에서 1,000,000,007이 되어 답이 달라졌지만, 역시 3을 곱한 다음 1,000,000,007으로 나눈 나머지는 7이 된다. www.acmicpc.net import sys input = sys.stdin.readline X = 1_000_000_007 # 자릿수 구분할 때 언더스코어를 사용해도 됨 def get_ni(n, x): result = 1 while x > 0: if x % 2 == 1: result = result * n % X n = n * n % X x //= 2 return result m = int(input()) ans = 0 for _ in range(m): n, s = map.. 2023. 10. 16.
[BOJ][Python]10830 풀이 https://www.acmicpc.net/problem/10830 10830번: 행렬 제곱 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. www.acmicpc.net def matmul(mat1, mat2): result = [[0 for _ in range(n)] for _ in range(n)] for i in range(n): for j in range(n): for k in range(n): result[i][j] += mat1[i][k] * mat2[k][j] result[i][j] %= 1000 return result n, b = map(int, input()... 2023. 8. 28.
[BOJ][Python]11444 풀이 https://www.acmicpc.net/problem/11444 11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net def matrix_multiplication(matrix1, matrix2): result = [[0, 0], [0, 0]] for i in range(2): for j in range(2): for k in range(2): result[i][j] += matrix1[i][k]*matrix2[k][j] result[i][j] %= 1000000007 return result n = int(input()) ans = [[1, 0], [0, 1]] fib_mat = [[1,.. 2023. 8. 19.
[BOJ][Python]2630번 풀이 https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net import sys ssr = sys.stdin.readline def sol(r,c,length): global paper_cnt, blue_cnt std = 0 color_cnt = 0 for i in range(r,r+length): for j in range(c,c+length): std += 1 color_cnt += b[i][j] if std == color_.. 2022. 6. 13.
반응형