結果
問題 | No.2339 Factorial Paths |
ユーザー |
👑 ![]() |
提出日時 | 2023-06-02 23:13:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 175 ms / 2,000 ms |
コード長 | 1,100 bytes |
コンパイル時間 | 447 ms |
コンパイル使用メモリ | 82,096 KB |
実行使用メモリ | 100,736 KB |
最終ジャッジ日時 | 2024-12-28 22:04:58 |
合計ジャッジ時間 | 8,919 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
"""4000 C 2000 通りが最大である2N C N"""import sysfrom sys import stdinfrom collections import dequeN = int(stdin.readline())if N == 1:print (1,1)print (".")sys.exit()lis = []q = deque([N])while q:v = q.popleft()if v == 1:continueelif v == 2:lis.append( (2,2) )else:a = v // 2b = v - alis.append( (a+1,b+1) )q.append( a )q.append( b )s = 0for a,b in lis:s += min(a,b)H = 1W = 1for a,b in lis:a,b = min(a,b),max(b,a)if H >= W:H += a-1W += b-1else:H += b-1W += a-1ans = [ ["#"] * W for i in range(H) ]H = 1W = 1for a,b in lis:a,b = min(a,b),max(b,a)if H >= W:for i in range(a):for j in range(b):ans[H-1+i][W-1+j] = "."H += a-1W += b-1else:for j in range(a):for i in range(b):ans[H-1+i][W-1+j] = "."H += b-1W += a-1print (H,W)for i in ans:print ("".join(i))