結果
| 問題 | No.883 ぬりえ |
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2021-10-11 04:36:07 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 899 bytes |
| 記録 | |
| コンパイル時間 | 189 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 87,040 KB |
| 最終ジャッジ日時 | 2024-09-15 01:08:38 |
| 合計ジャッジ時間 | 2,952 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 16 WA * 3 |
ソースコード
def Ceil_Root(a,k):
"""ceil(a^(1/k)) を求める.
a:非負整数
k:正の整数
"""
assert 0<=a and 0<k
if a==0:
return 0
if k==1:
return a
#大体の値を求める.
x=int(pow(a,1/k))+1
#増やす
while pow(x,k)<a:
x+=1
#減らす
while a<=pow(x-1,k):
x-=1
return x
#==================================================
N,K=map(int,input().split())
L=float("inf")
for m in range(1,K+1):
q,r=divmod(N,m*m)
s=Ceil_Root(r,2)
if q*m+s<L:
L=q*m+s
M=m
Q=q
S=s
print(L)
X=[["."]*L for _ in range(L)]
for k in range(Q):
for i in range(k*M, (k+1)*M):
for j in range(k*M, (k+1)*M):
X[i][j]="#"
R=N-Q*M*M
for i in range(Q*M,L):
for j in range(Q*M,L):
if R>0:
R-=1
X[i][j]="#"
for x in X:
print(*x,sep="")
Kazun