====== 준오는 심술쟁이!! ====== ===== 풀이 ===== * 바꿔쓰면 0≤x_i≤25 일때, x_1+x_2+..+x_l = s 가 되는 (x_1,...,x_l) 의 개수를 세는 문제이다 * [[https://github.com/wookje/mugcup/blob/master/A.%20%EC%A4%80%EC%98%A4%EB%8A%94%20%EC%8B%AC%EC%88%A0%EC%9F%81%EC%9D%B4!!/solA.md|공식 풀이]]는 O(s*l) 의 DP이지만, 조합론적 방법으로 O(s+l) 에 해결이 가능하다. 풀이는 [[ps:tutorial:composition#상한이 주어진 경우|상한이 주어진 composition]] 참고 ===== 코드 ===== """Solution code for "BOJ 14437. 준오는 심술쟁이!!". - Problem link: https://www.acmicpc.net/problem/14437 - Solution link: http://www.teferi.net/ps/problems/boj/14437 Tags: [combinatorics] """ from teflib import combinatorics MOD = 1_000_000_007 def main(): s = int(input()) problem = input() print(combinatorics.count_compositions(s, len(problem), MOD, hi=25)) if __name__ == '__main__': main() * Dependency: [[:ps:teflib:combinatorics#count_compositions|teflib.combinatorics.count_compositions]] {{tag>BOJ ps:problems:boj:골드_3}}