結果
問題 | No.2299 Antitypoglycemia |
ユーザー | McGregorsh |
提出日時 | 2023-05-12 22:05:32 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 210 ms / 2,000 ms |
コード長 | 1,893 bytes |
コンパイル時間 | 1,346 ms |
コンパイル使用メモリ | 86,788 KB |
実行使用メモリ | 95,976 KB |
最終ジャッジ日時 | 2023-08-19 04:50:11 |
合計ジャッジ時間 | 7,592 ms |
ジャッジサーバーID (参考情報) |
judge12 / judge14 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 206 ms
92,076 KB |
testcase_01 | AC | 201 ms
92,236 KB |
testcase_02 | AC | 199 ms
92,356 KB |
testcase_03 | AC | 205 ms
94,836 KB |
testcase_04 | AC | 202 ms
94,928 KB |
testcase_05 | AC | 200 ms
93,944 KB |
testcase_06 | AC | 200 ms
94,960 KB |
testcase_07 | AC | 197 ms
92,628 KB |
testcase_08 | AC | 206 ms
94,380 KB |
testcase_09 | AC | 209 ms
94,604 KB |
testcase_10 | AC | 203 ms
93,040 KB |
testcase_11 | AC | 204 ms
93,120 KB |
testcase_12 | AC | 204 ms
94,776 KB |
testcase_13 | AC | 206 ms
95,860 KB |
testcase_14 | AC | 202 ms
92,716 KB |
testcase_15 | AC | 204 ms
92,768 KB |
testcase_16 | AC | 203 ms
93,332 KB |
testcase_17 | AC | 210 ms
93,056 KB |
testcase_18 | AC | 208 ms
95,692 KB |
testcase_19 | AC | 209 ms
95,976 KB |
testcase_20 | AC | 201 ms
95,724 KB |
testcase_21 | AC | 210 ms
95,908 KB |
testcase_22 | AC | 209 ms
95,720 KB |
testcase_23 | AC | 196 ms
92,164 KB |
testcase_24 | AC | 195 ms
92,196 KB |
testcase_25 | AC | 193 ms
92,156 KB |
testcase_26 | AC | 202 ms
92,212 KB |
testcase_27 | AC | 203 ms
92,236 KB |
ソースコード
import sys, re from fractions import Fraction from math import ceil, floor, sqrt, pi, factorial, gcd from copy import deepcopy from collections import Counter, deque, defaultdict from heapq import heapify, heappop, heappush from itertools import accumulate, product, combinations, combinations_with_replacement, permutations from bisect import bisect, bisect_left, bisect_right from functools import reduce from decimal import Decimal, getcontext, ROUND_HALF_UP def i_input(): return int(input()) def i_map(): return map(int, input().split()) def i_list(): return list(i_map()) def i_row(N): return [i_input() for _ in range(N)] def i_row_list(N): return [i_list() for _ in range(N)] def s_input(): return input() def s_map(): return input().split() def s_list(): return list(s_map()) def s_row(N): return [s_input for _ in range(N)] def s_row_str(N): return [s_list() for _ in range(N)] def s_row_list(N): return [list(s_input()) for _ in range(N)] def lcm(a, b): return a * b // gcd(a, b) def get_distance(x1, y1, x2, y2): d = sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) return d def rotate(table): n_fild = [] for x in zip(*table[::-1]): n_fild.append(x) return n_fild sys.setrecursionlimit(10 ** 7) INF = float('inf') MOD = 10 ** 9 + 7 MOD2 = 998244353 def main(): N, A, B = i_map() if N == 2: if A == B: print(0) else: print(1) exit() PP = [0] * (N+1) PP[1] = 1 for i in range(2, N+1): PP[i] = PP[i-1] * i PP[i] %= MOD2 # nPr(6, 4) 360 # nPr(6, 5) 720 Fiv = [0] * (N+1) Fiv[2] = 1 cou = 2 for i in range(3, N+1): Fiv[i] = Fiv[i-1] + cou Fiv[i] %= MOD2 cou += 2 cou %= MOD2 if A == B: print((N-2) * (N-1) * PP[N-2] % MOD2) else: print(Fiv[N] * PP[N-2] % MOD2) if __name__ == '__main__': main()