結果
問題 | No.1594 Three Classes |
ユーザー |
![]() |
提出日時 | 2021-07-09 21:35:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 578 ms / 2,000 ms |
コード長 | 1,798 bytes |
コンパイル時間 | 228 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 76,032 KB |
最終ジャッジ日時 | 2024-11-16 07:33:47 |
合計ジャッジ時間 | 7,570 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
class INPUT: def __init__(self): self._l=open(0).read().split() self._length=len(self._l) self._index=0 return def stream(self,k=1,f=int,f2=False): assert(-1<k) if self._length==self._index or self._length-self._index<k: raise Exception("There is no input!") elif f!=str: if k==0: ret=list(map(f,self._l[self._index:])) self._index=self._length return ret if k==1 and not f2: ret=f(self._l[self._index]) self._index+=1 return ret if k==1 and f2: ret=[f(self._l[self._index])] self._index+=1 return ret ret=[] for _ in [0]*k: ret.append(f(self._l[self._index])) self._index+=1 return ret else: if k==0: ret=list(self._l[self._index:]) self._index=self._length return ret if k==1 and not f2: ret=self._l[self._index] self._index+=1 return ret if k==1 and f2: ret=[self._l[self._index]] self._index+=1 return ret ret=[] for _ in [0]*k: ret.append(self._l[self._index]) self._index+=1 return ret pin=INPUT().stream #pin(number[default:1],f[default:int],f2[default:False]) #if number==0 -> return left all #listを変数で受け取るとき、必ずlistをTrueにすること。 def change(n,k): ret=[] while n!=0: ret.append(str(n%k)) n//=k return "".join(ret) def main(): N=pin(1) E=pin(0) for i in range(pow(3,N)): a=b=c=0 u=change(i,3) s=N-len(u) t="0"*s+u for i in range(N): if t[i]=="0": a+=E[i] elif t[i]=="1": b+=E[i] else: c+=E[i] if a==b and b==c: print("Yes") return print("No") return main()