結果
問題 |
No.250 atetubouのzetubou
|
ユーザー |
![]() |
提出日時 | 2017-06-02 19:02:55 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 113 ms / 5,000 ms |
コード長 | 1,292 bytes |
コンパイル時間 | 117 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 31,360 KB |
最終ジャッジ日時 | 2024-09-21 22:16:32 |
合計ジャッジ時間 | 3,285 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
# coding: utf-8 import array, bisect, collections, copy, heapq, itertools, math, random, re, string, sys, time sys.setrecursionlimit(10 ** 7) INF = 10 ** 20 MOD = 10 ** 9 + 7 def II(): return int(input()) def ILI(): return list(map(int, input().split())) def IAI(LINE): return [ILI() for __ in range(LINE)] def IDI(): return {key: value for key, value in ILI()} def read(): Q = II() D = [0] * Q X = [0] * Q T = [0] * Q for i in range(Q): D[i], X[i], T[i] = map(int, input().split()) return (Q, D, X, T) def solve(Q, D, X, T): max_d = max(D) max_x = max(X) max_t = max(T) dp = [[max_t + 1] * (max_x + 1) for __ in range(max_d + 1)] for d in range(1, max_d + 1): dp[d][0] = 1 for x in range(1, max_x + 1): if d == 1: dp[d][x] = 1 else: dp[d][x] = dp[d][x - 1] + dp[d - 1][x] if dp[d][x] > max_t: break ans = [] for i in range(Q): if dp[D[i]][X[i]] <= T[i]: ans.append("AC") else: ans.append("ZETUBOU") return ans def main(): params = read() ans = solve(*params) for a in ans: print(a) if __name__ == "__main__": main()