結果

問題 No.1327 グラフの数え上げ
ユーザー kmjpkmjp
提出日時 2020-12-24 00:33:57
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 100 ms / 2,000 ms
コード長 2,743 bytes
コンパイル時間 181 ms
コンパイル使用メモリ 82,048 KB
実行使用メモリ 99,668 KB
最終ジャッジ日時 2024-09-21 16:38:53
合計ジャッジ時間 1,758 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 38 ms
52,480 KB
testcase_01 AC 43 ms
58,112 KB
testcase_02 AC 37 ms
52,224 KB
testcase_03 AC 37 ms
52,224 KB
testcase_04 AC 37 ms
52,480 KB
testcase_05 AC 36 ms
52,480 KB
testcase_06 AC 36 ms
52,480 KB
testcase_07 AC 37 ms
52,332 KB
testcase_08 AC 44 ms
57,600 KB
testcase_09 AC 98 ms
57,472 KB
testcase_10 AC 38 ms
52,992 KB
testcase_11 AC 37 ms
52,864 KB
testcase_12 AC 37 ms
52,352 KB
testcase_13 AC 39 ms
52,352 KB
testcase_14 AC 38 ms
52,352 KB
testcase_15 AC 43 ms
57,600 KB
testcase_16 AC 100 ms
99,668 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

N=input()

def fact(N):
	facts=[
	[0,1],
	[10000000,682498929],
	[20000000,491101308],
	[30000000,76479948],
	[40000000,723816384],
	[50000000,67347853],
	[60000000,27368307],
	[70000000,625544428],
	[80000000,199888908],
	[90000000,888050723],
	[100000000,927880474],
	[110000000,281863274],
	[120000000,661224977],
	[130000000,623534362],
	[140000000,970055531],
	[150000000,261384175],
	[160000000,195888993],
	[170000000,66404266],
	[180000000,547665832],
	[190000000,109838563],
	[200000000,933245637],
	[210000000,724691727],
	[220000000,368925948],
	[230000000,268838846],
	[240000000,136026497],
	[250000000,112390913],
	[260000000,135498044],
	[270000000,217544623],
	[280000000,419363534],
	[290000000,500780548],
	[300000000,668123525],
	[310000000,128487469],
	[320000000,30977140],
	[330000000,522049725],
	[340000000,309058615],
	[350000000,386027524],
	[360000000,189239124],
	[370000000,148528617],
	[380000000,940567523],
	[390000000,917084264],
	[400000000,429277690],
	[410000000,996164327],
	[420000000,358655417],
	[430000000,568392357],
	[440000000,780072518],
	[450000000,462639908],
	[460000000,275105629],
	[470000000,909210595],
	[480000000,99199382],
	[490000000,703397904],
	[500000000,733333339],
	[510000000,97830135],
	[520000000,608823837],
	[530000000,256141983],
	[540000000,141827977],
	[550000000,696628828],
	[560000000,637939935],
	[570000000,811575797],
	[580000000,848924691],
	[590000000,131772368],
	[600000000,724464507],
	[610000000,272814771],
	[620000000,326159309],
	[630000000,456152084],
	[640000000,903466878],
	[650000000,92255682],
	[660000000,769795511],
	[670000000,373745190],
	[680000000,606241871],
	[690000000,825871994],
	[700000000,957939114],
	[710000000,435887178],
	[720000000,852304035],
	[730000000,663307737],
	[740000000,375297772],
	[750000000,217598709],
	[760000000,624148346],
	[770000000,671734977],
	[780000000,624500515],
	[790000000,748510389],
	[800000000,203191898],
	[810000000,423951674],
	[820000000,629786193],
	[830000000,672850561],
	[840000000,814362881],
	[850000000,823845496],
	[860000000,116667533],
	[870000000,256473217],
	[880000000,627655552],
	[890000000,245795606],
	[900000000,586445753],
	[910000000,172114298],
	[920000000,193781724],
	[930000000,778983779],
	[940000000,83868974],
	[950000000,315103615],
	[960000000,965785236],
	[970000000,492741665],
	[980000000,377329025],
	[990000000,847549272],
	[1000000000,698611116],
	[1001000000,0]
	]
	
	cur = 0
	ret = 1
	
	for f in facts:
		if N >= f[0]:
			cur = f[0]
			ret = f[1]
	
	for i in range(cur+1,N+1):
		ret = ret * i % 1000000007
	return ret


if len(N)>10:
	print(0)
else:
	N = int(N)
	if N>=1000000008:
		print(0)
	else:
		v = fact(N-1)
		if N % 2 == 0:
			v = 1000000007-v
		print(v)

0