結果
問題 | No.1127 変形パスカルの三角形 |
ユーザー | tonnnura172 |
提出日時 | 2020-08-02 19:31:20 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 1,059 ms / 1,500 ms |
コード長 | 1,352 bytes |
コンパイル時間 | 86 ms |
コンパイル使用メモリ | 11,140 KB |
実行使用メモリ | 87,940 KB |
最終ジャッジ日時 | 2023-09-26 11:22:30 |
合計ジャッジ時間 | 32,072 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge12 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 706 ms
87,756 KB |
testcase_01 | AC | 1,035 ms
87,912 KB |
testcase_02 | AC | 922 ms
87,800 KB |
testcase_03 | AC | 860 ms
87,900 KB |
testcase_04 | AC | 734 ms
87,900 KB |
testcase_05 | AC | 856 ms
87,896 KB |
testcase_06 | AC | 1,059 ms
87,940 KB |
testcase_07 | AC | 808 ms
87,812 KB |
testcase_08 | AC | 788 ms
87,704 KB |
testcase_09 | AC | 970 ms
87,780 KB |
testcase_10 | AC | 966 ms
87,876 KB |
testcase_11 | AC | 952 ms
87,900 KB |
testcase_12 | AC | 932 ms
87,892 KB |
testcase_13 | AC | 902 ms
87,776 KB |
testcase_14 | AC | 866 ms
87,896 KB |
testcase_15 | AC | 790 ms
87,932 KB |
testcase_16 | AC | 878 ms
87,904 KB |
testcase_17 | AC | 804 ms
87,856 KB |
testcase_18 | AC | 901 ms
87,736 KB |
testcase_19 | AC | 915 ms
87,876 KB |
testcase_20 | AC | 935 ms
87,860 KB |
testcase_21 | AC | 962 ms
87,868 KB |
testcase_22 | AC | 779 ms
87,824 KB |
testcase_23 | AC | 981 ms
87,816 KB |
testcase_24 | AC | 879 ms
87,812 KB |
testcase_25 | AC | 878 ms
87,864 KB |
testcase_26 | AC | 912 ms
87,872 KB |
testcase_27 | AC | 939 ms
87,756 KB |
testcase_28 | AC | 948 ms
87,796 KB |
testcase_29 | AC | 786 ms
87,748 KB |
testcase_30 | AC | 778 ms
87,876 KB |
testcase_31 | AC | 965 ms
87,864 KB |
ソースコード
import sys, re from collections import deque, defaultdict, Counter from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians, gcd, log2 from itertools import accumulate, permutations, combinations, product from operator import itemgetter, mul, add from copy import deepcopy from string import ascii_lowercase, ascii_uppercase, digits from bisect import bisect, bisect_left from heapq import heappush, heappop from functools import reduce, lru_cache def input(): return sys.stdin.buffer.readline()[:-1] def INT(): return int(input()) def MAP(): return map(int, input().split()) def LIST(): return list(map(int, input().split())) def ZIP(n): return zip(*(MAP() for _ in range(n))) sys.setrecursionlimit(10 ** 9) INF = float('inf') mod = 10 ** 9 + 7 a, b = MAP() N, K = MAP() lim = 10**6 # 必要そうな階乗の限界を入れる fact = [1] * (lim+1) fact_inv = [1] * (lim+1) for n in range(1, lim+1): fact[n] = (fact[n-1] * n) % mod fact_inv[lim] = pow(fact[lim], mod-2, mod) for n in range(lim, 0, -1): fact_inv[n-1] = (n * fact_inv[n]) % mod def C(n, r): return (((fact[n] * fact_inv[r]) % mod) * fact_inv[n-r]) % mod ans = a*C(N-1, K-1)*(K!=N+1) + b*C(N-1, K-2)*(K!=1) print(ans%mod) ans2 = 0 for k in range(1, N+2): tmp = a*C(N-1, k-1)*(k!=N+1) + b*C(N-1, k-2)*(k!=1) ans2 += tmp**2 ans2 %= mod print(ans2)