結果
| 問題 | No.250 atetubouのzetubou | 
| コンテスト | |
| ユーザー |  sue_charo | 
| 提出日時 | 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()
            
            
            
        