結果
問題 |
No.2837 Flip Triomino
|
ユーザー |
![]() |
提出日時 | 2024-08-09 23:33:25 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 539 bytes |
コンパイル時間 | 437 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 64,512 KB |
最終ジャッジ日時 | 2024-08-09 23:33:29 |
合計ジャッジ時間 | 3,508 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 31 WA * 3 |
ソースコード
N, M = map(int, input().split()) S = [input() for _ in range(N)] a = [[0, 0] for _ in range(3)] for i in range(N): for j in range(M): if S[i][j] == "B": a[(i+j)%3][0] += 1 elif S[i][j] == "?": a[(i+j)%3][1] += 1 ans = [[0, 0] for _ in range(3)] for i in range(3): if a[i][1] == 0: ans[i][(a[i][0]+1)%2] = -10000000 else: ans[i][0] = a[i][1]-1 ans[i][1] = a[i][1]-1 #print(ans) cnt = max(ans[0][0]+ans[1][0]+ans[2][0], ans[0][1]+ans[1][1]+ans[2][1]) #print(cnt) if cnt < 0: print(0) else: print(pow(2, cnt, 998244353))