結果
問題 |
No.866 レベルKの正方形
|
ユーザー |
![]() |
提出日時 | 2025-04-16 16:48:33 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,175 bytes |
コンパイル時間 | 339 ms |
コンパイル使用メモリ | 81,388 KB |
実行使用メモリ | 62,756 KB |
最終ジャッジ日時 | 2025-04-16 16:50:49 |
合計ジャッジ時間 | 9,018 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | AC * 8 TLE * 1 -- * 13 |
ソースコード
import sys def main(): H, W, K = map(int, sys.stdin.readline().split()) grid = [] for _ in range(H): line = sys.stdin.readline().strip() row = [1 << (ord(c) - ord('a')) for c in line] grid.append(row) total = 0 max_size = min(H, W) for s in range(1, max_size + 1): valid_width = W - s + 1 if valid_width <= 0: continue temp = [] for i in range(H): row = grid[i] temp_row = [] for j in range(valid_width): or_val = 0 for k in range(s): or_val |= row[j + k] temp_row.append(or_val) temp.append(temp_row) valid_height = H - s + 1 if valid_height <= 0: continue for j in range(len(temp[0])): for i in range(valid_height): or_val = 0 for k in range(s): or_val |= temp[i + k][j] cnt = bin(or_val).count('1') if cnt == K: total += 1 print(total) if __name__ == "__main__": main()