結果
問題 | No.250 atetubouのzetubou |
ユーザー | vwxyz |
提出日時 | 2022-10-01 04:34:43 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 1,733 ms / 5,000 ms |
コード長 | 3,480 bytes |
コンパイル時間 | 185 ms |
コンパイル使用メモリ | 13,184 KB |
実行使用メモリ | 31,616 KB |
最終ジャッジ日時 | 2024-06-02 11:10:00 |
合計ジャッジ時間 | 39,309 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1,649 ms
31,360 KB |
testcase_01 | AC | 1,577 ms
31,360 KB |
testcase_02 | AC | 1,662 ms
31,360 KB |
testcase_03 | AC | 1,654 ms
31,616 KB |
testcase_04 | AC | 1,733 ms
31,488 KB |
testcase_05 | AC | 1,695 ms
31,488 KB |
testcase_06 | AC | 1,686 ms
31,360 KB |
testcase_07 | AC | 1,657 ms
31,488 KB |
testcase_08 | AC | 1,602 ms
31,616 KB |
testcase_09 | AC | 1,674 ms
31,616 KB |
testcase_10 | AC | 1,607 ms
31,616 KB |
testcase_11 | AC | 1,602 ms
31,360 KB |
testcase_12 | AC | 1,664 ms
31,360 KB |
testcase_13 | AC | 1,619 ms
31,488 KB |
testcase_14 | AC | 1,609 ms
31,232 KB |
testcase_15 | AC | 1,606 ms
31,488 KB |
testcase_16 | AC | 1,702 ms
31,488 KB |
testcase_17 | AC | 1,646 ms
31,488 KB |
testcase_18 | AC | 1,708 ms
31,616 KB |
testcase_19 | AC | 1,707 ms
31,360 KB |
testcase_20 | AC | 1,644 ms
31,360 KB |
testcase_21 | AC | 1,575 ms
31,232 KB |
ソースコード
from ast import Mod import bisect import copy import decimal import fractions import heapq import itertools import math import random import sys import time from collections import Counter,deque,defaultdict from functools import lru_cache,reduce from heapq import heappush,heappop,heapify,heappushpop,_heappop_max,_heapify_max def _heappush_max(heap,item): heap.append(item) heapq._siftdown_max(heap, 0, len(heap)-1) def _heappushpop_max(heap, item): if heap and item < heap[0]: item, heap[0] = heap[0], item heapq._siftup_max(heap, 0) return item from math import gcd as GCD read=sys.stdin.read readline=sys.stdin.readline readlines=sys.stdin.readlines write=sys.stdout.write class MOD: def __init__(self,p,e=None): self.p=p self.e=e if self.e==None: self.mod=self.p else: self.mod=self.p**self.e def Pow(self,a,n): a%=self.mod if n>=0: return pow(a,n,self.mod) else: assert math.gcd(a,self.mod)==1 x=Extended_Euclid(a,self.mod)[0] return pow(x,-n,self.mod) def Build_Fact(self,N): assert N>=0 self.factorial=[1] if self.e==None: for i in range(1,N+1): self.factorial.append(self.factorial[-1]*i%self.mod) else: self.cnt=[0]*(N+1) for i in range(1,N+1): self.cnt[i]=self.cnt[i-1] ii=i while ii%self.p==0: ii//=self.p self.cnt[i]+=1 self.factorial.append(self.factorial[-1]*ii%self.mod) self.factorial_inve=[None]*(N+1) self.factorial_inve[-1]=self.Pow(self.factorial[-1],-1) for i in range(N-1,-1,-1): ii=i+1 while ii%self.p==0: ii//=self.p self.factorial_inve[i]=(self.factorial_inve[i+1]*ii)%self.mod def Fact(self,N): if N<0: return 0 retu=self.factorial[N] if self.e!=None and self.cnt[N]: retu*=pow(self.p,self.cnt[N],self.mod)%self.mod retu%=self.mod return retu def Fact_Inve(self,N): if self.e!=None and self.cnt[N]: return None return self.factorial_inve[N] def Comb(self,N,K,divisible_count=False): if K<0 or K>N: return 0 retu=self.factorial[N]*self.factorial_inve[K]%self.mod*self.factorial_inve[N-K]%self.mod if self.e!=None: cnt=self.cnt[N]-self.cnt[N-K]-self.cnt[K] if divisible_count: return retu,cnt else: retu*=pow(self.p,cnt,self.mod) retu%=self.mod return retu def Extended_Euclid(n,m): stack=[] while m: stack.append((n,m)) n,m=m,n%m if n>=0: x,y=1,0 else: x,y=-1,0 for i in range(len(stack)-1,-1,-1): n,m=stack[i] x,y=y,x-(n//m)*y return x,y comb=[[0]*1501 for i in range(1501)] inf=1<<60 for a in range(1,1501): comb[a][0]=1 for b in range(1,1501): comb[0][b]=1 for a in range(1,1501): for b in range(1,1501): comb[a][b]+=comb[a-1][b] comb[a][b]+=comb[a][b-1] if comb[a][b]>=inf: comb[a][b]=inf Q=int(readline()) for q in range(Q): D,X,T=map(int,readline().split()) if comb[X][D-1]>T: ans="ZETUBOU" else: ans="AC" print(ans)