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
#
에 "최적 솔루션"(왼쪽 또는 아래쪽으로 절대 움직이지 않는 솔루션) 의 숫자가 포함되어야 합니까?