Pyth、32 29 24バイト
AtMQVH+*\.G\#;+\X*\#G+GH
オンラインでお試しください!
サンプル入力:
(4, 5)
サンプル出力:
...#
...#
...#
...#
X###
7
使い方:
AtMQVH+*\.G\#;+\X*\#G+GH
assign('Q',eval_input())
AtMQ assign('[G,H]',Pmap(lambda d:tail(d),Q))
VH ; for N in range(H):
+*\.G\# implicit_print(plus(times(".",G),"#"))
+\X*\#G implicit_print(plus("X",times("#",G)))
+GH implicit_print(plus(G,H))
以前の試み:
JthQK@Q1+*++*\.J\#btK+\X*\#Jt+JK
オンラインでお試しください!
サンプル入力:
(4, 5)
サンプル出力:
...#
...#
...#
...#
X###
7
使い方:
JthQK@Q1+*++*\.J\#btK+\X*\#Jt+JK
assign('Q',eval_input()) --Q is now an official pair of numbers (4, 5)
JthQ assign("J",decrement(first(Q))) --gets the first element, and then take 1 from it, and assign it to J
K@Q1 assign("K",lookup(Q,1)) --K is now the second element (count from 0) of the pair.
+ +\X*\#J concat(-----------------------------------------------------------,concat("X",times("#",J)))
* tK repeat(--------------------------------------,decrement(K))
+ b concat(-------------------------,"\n")
+ \# concat(-------------,"#")
*\.J repeat(".",J)
t+JK decrement(add(J,K)) <--- auto-print
#
「最適なソリューション」(左または下に移動しないソリューション)の数も含める必要がありますか?