結果
問題 | No.43 野球の試合 |
ユーザー |
![]() |
提出日時 | 2021-06-19 17:19:50 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,290 bytes |
コンパイル時間 | 277 ms |
コンパイル使用メモリ | 82,588 KB |
実行使用メモリ | 90,636 KB |
最終ジャッジ日時 | 2024-06-22 22:11:08 |
合計ジャッジ時間 | 2,657 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 6 WA * 1 |
ソースコード
import bisectimport copyimport decimalimport fractionsimport heapqimport itertoolsimport mathimport randomimport sysfrom collections import Counter, deque,defaultdictfrom functools import lru_cache,reducefrom heapq import heappush,heappop,heapify,heappushpop,_heappop_max,_heapify_maxdef _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], itemheapq._siftup_max(heap, 0)return itemfrom math import gcd as GCDread=sys.stdin.readreadline=sys.stdin.readlinereadlines=sys.stdin.readlinesN=int(readline())S=[list(readline().rstrip()) for i in range(N)]for i in range(1,N):if S[0][i]=='-':S[0][i]='o'S[i][0]='x'ans=float('inf')lst=[(i,j) for j in range(1,N) for i in range(j) if S[i][j]=='-']for bit in range(1<<len(lst)):SS=[[S[i][j] for j in range(N)] for i in range(N)]for b in range(len(lst)):i,j=lst[b]if bit>>b&1:SS[i][j]='o'SS[j][i]='x'else:SS[j][i]='o'SS[i][j]='x'win={ss.count('o') for ss in SS}win=sorted(list(win),reverse=True)ans=min(ans,win.index(SS[0].count('o'))+1)print(ans)