結果

問題 No.2326 Factorial to the Power of Factorial to the...
ユーザー zekito_Bakazekito_Baka
提出日時 2023-05-28 15:24:48
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,637 bytes
コンパイル時間 278 ms
コンパイル使用メモリ 86,984 KB
実行使用メモリ 215,628 KB
最終ジャッジ日時 2023-08-27 12:06:05
合計ジャッジ時間 6,751 ms
ジャッジサーバーID
(参考情報)
judge11 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 -- -
testcase_02 -- -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

from sys import stdin
input = stdin.readline
from functools import lru_cache

@lru_cache(maxsize=1000)
def next():
    x = input().rstrip()
    return(x)
def nextint():
    x = int(input())
    return(x)
def nextfloat():
    x = float(input())
    return(x)
def nextlist():
    x = list(input().rstrip().split()) 
    return(x)
def nextintlist():
    x = list(map(int, input().rstrip().split())) 
    return(x)
def nextfloatlist():
    x = list(map(float, input().rstrip().split())) 
    return(x)  
def nextlist2():
  n = int(input())  # nは入力回数
  x = [input().rstrip() for _ in range(n)]
  return(x)
def nextintlist2():
  n = int(input())  # nは入力回数
  x = [int(input()) for _ in range(n)]
  return(x)
def nextfloatlist2():
  n = int(input())  # nは入力回数
  x = [float(input()) for _ in range(n)]
  return(x)
def nextdoublelist():
    n = int(input())  # nは入力回数
    x = [list(input().rstrip().split()) for _ in range(n)]
    return(x)
def nextdoubleintlist():
    n = int(input())  # nは入力回数
    x = [list(map(int, input().rstrip().split())) for _ in range(n)]
    return(x)
def nextdoublefloatlist():
    n = int(input())  # nは入力回数
    x = [list(map(float, input().rstrip().split())) for _ in range(n)]
    return(x)
def pow_k(x, n):
    """
    O(log n)
    """
    if n == 0:
        return 1

    K = 1
    while n > 1:
        if n % 2 != 0:
            K *= x
        x *= x
        n //= 2

    return K * x

s = nextintlist()
x = 1
y2 = 0
for i in range(1,s[0]+1):
    x *= i
    if i % s[1] == 0:
        y2 += 1
xx = pow_k(x,x)
a1 = y2 * (xx)
print(int(a1 % 1000000007))

0