結果
問題 | No.2692 How Many Times Reached? |
ユーザー | Barnard_Eagle |
提出日時 | 2024-03-22 23:10:12 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 39 ms / 2,000 ms |
コード長 | 1,030 bytes |
コンパイル時間 | 92 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,136 KB |
最終ジャッジ日時 | 2024-09-30 12:25:30 |
合計ジャッジ時間 | 2,527 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 43 |
ソースコード
n = int(input()) S = [list(input()) for _ in range(n)] #print(S) #print([r[0] for r in S]) ans = 0 #hoizon check for i in range(n): if "B" in S[i]: #print(S[i]) continue; count = S[i].count('.') #count = len([s for s in S[i] if "." in S[i]]) if count == 1: #print(S[i]) ans = ans+1 #vertical check for i in range(n): if "B" in [r[i] for r in S]: #print([r[i] for r in S]) continue; #print([r[i] for r in S]) VS=[r[i] for r in S] #print(VS) count = VS.count('.') #print(count) if count == 1: #print(S[i]) ans = ans+1 # naname rl_d = [[S[max(0, -d) + i][max(0, d) + i] for i in range(n - abs(d))] for d in range(1-n, n)] #print(rl_d[n-1]) if "B" in rl_d[n-1]: a=1 elif rl_d[n-1].count('.') == 1: ans = ans +1 lr_d = [[S[max(0, d) + i][min(n + d, n) - i - 1] for i in range(n - abs(d))] for d in range(1 - n, n)] #print(lr_d) if "B" in lr_d[n-1]: a=1 elif lr_d[n-1].count('.') == 1: ans = ans +1 print(ans)