結果
問題 |
No.883 ぬりえ
|
ユーザー |
👑 ![]() |
提出日時 | 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="")