結果
| 問題 | No.3731 Kaleidoscope |
| コンテスト | |
| ユーザー |
convexineq
|
| 提出日時 | 2026-09-19 16:11:44 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 101 ms / 2,000 ms |
| + 143µs | |
| コード長 | 1,464 bytes |
| 記録 | |
| コンパイル時間 | 69 ms |
| コンパイル使用メモリ | 83,012 KB |
| 実行使用メモリ | 111,384 KB |
| 最終ジャッジ日時 | 2026-09-19 16:12:02 |
| 合計ジャッジ時間 | 6,561 ms |
|
ジャッジサーバーID (参考情報) |
judge5_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 31 |
ソースコード
import sys
readline = sys.stdin.readline
# T = int(readline())
# for _ in range(T):
# ans = solve()
# print(ans)
# n = int(readline())
# a = [int(i) for i in readline().split()]
# ab = [[int(i) for i in readline().split()] for _ in range()]
# S = readline().strip()
# b = [readline().strip() for _ in range()]
N = 10
S = readline().strip()
n = (1<<N)-1
b = [[0]*n for _ in range(n)]
b[0] = [1]*n
b[-1] = [1]*n
for j in range(n):
b[j][0] = b[j][-1] = 1
for time in range(2):
SS = S[time::2]
while SS == "" or len(SS)%2==1: SS += "x"
K = len(SS)//2
for i in range(K):
b[3*i+1][-3] = b[3*i+1][-2] = 1
b[3*i-0][-3] = b[3*i-0][-2] = 1
if SS[2*i] == "x":
b[3*i+0][-2] = 0
if SS[2*i+1] == "x":
b[3*i+1][-2] = 0
x = 2*i+3
for j in range(1,i+2):
b[j][-x] = 1
if i >= 1:
for _ in range(2*i-1):
x -= 1
b[j][-x] = 1
j += 1
b[j][-x] = 1
bb = [[0]*n for _ in range(n)]
for i in range(n):
for j in range(n):
bb[i][j] = b[j][i]
b = bb
for i,lst in enumerate(b):
if i == 0:
b[i] = [1]+lst
else:
b[i] = [0]+lst
b[-1] = b[-2][::]
b.append([1]*(n+1))
assert len(b) == len(b[0])
print(len(b))
for i,lst in enumerate(b):
print("".join("#."[i] for i in lst))
#assert N == 10
convexineq