結果
問題 | No.2178 Payable Magic Items |
ユーザー |
|
提出日時 | 2023-01-06 23:01:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,242 ms / 4,000 ms |
コード長 | 1,057 bytes |
コンパイル時間 | 410 ms |
コンパイル使用メモリ | 82,028 KB |
実行使用メモリ | 145,852 KB |
最終ジャッジ日時 | 2024-12-14 18:03:28 |
合計ジャッジ時間 | 9,085 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 23 |
ソースコード
n,k=map(int,input().split())if n==1 or k==1:print(n-1)exit()S=[input() for _ in range(n)]X=[list(int(s) for s in S[i]) for i in range(n)]A=[sum(x) for x in X]entry_set=set(S)max_A=max(A)if max_A==4*k:print(n-1)exit()remove_set=set()for i in range(n):if A[i]==max_A:entry_set.remove(S[i])for j in range(k):if X[i][j]==0:continueremove_set.add("".join([str(X[i][l]-1) if l==j else str(X[i][l]) for l in range(k)]))num=max_A-1ans=0while(entry_set):for i in range(n):if A[i]==num:if S[i] in remove_set:ans+=1else:remove_set.add(S[i])entry_set.remove(S[i])_remove_set=set()for r in remove_set:for j in range(k):if r[j]=="0":continueR=list(r)R[j]=str(int(R[j])-1)_remove_set.add("".join(R))remove_set=_remove_setnum-=1if num==-1:breakprint(ans)