티스토리 뷰

MAO

0032. Log

jwvg0425 2020. 5. 28. 19:29

 

ttps://mao.snuke.org/tasks/32

 

Problem 0032 - Log

Run Stop Step Reset Submit

mao.snuke.org

처음 생각은, o -> 0, 00 -> 1, 11 -> 2, ... 를 연쇄적으로 적용시키는 것이었다. 이렇게 연쇄적으로 적용시킨 다음에 남은 부스러기들을 지우면 해결이 된다고 봄. 그 생각을 충실히 옮겨서 20줄로 해결했다.

o:0
00:1
11:2
22:3
33:4
44:5
#0:0_
#1:1_
#2:2_
#3:3_
#4:4_
#5:5_
_0:_
_1:_
_2:_
_3:_
_4:_
_5:_
_::
:#

근데 생각을 해보니, 00:1, 11:2 이렇게 합칠 필요가 없이 필요한 o 개수를 직접 나열하면 수 + o 의 조합으로 환원되게 만들 수 있었다. 이렇게 바꿔서 아래와 같이 12줄로 줄였다.

#o:0
0o:1
1oo:2
2oooo:3
3oooooooo:4
4oooooooooooooooo:5
#1o:#1
#2o:#2
#3o:#3
#4o:#4
#::
:#

여기서 # 커서가 하는 역할이 딱히 없어서, # 커서를 지우고 10줄로 줄였다.

0o:1
1oo:2
2oooo:3
3oooooooo:4
4oooooooooooooooo:5
1o:1
2o:2
3o:3
4o:4
o:0

저 뒤에 남은 부분을 지우는 것 때문에 여러 라인이 소모가 되는데, "내 뒤를 지워라"를 나타내는 커서를 추가하는 방식을 통해 8줄까지 줄일 수 있다.

0.o:1.
1.oo:2.
2.oooo:3.
3.oooooooo:4.
4.oooooooooooooooo:5.
.o:.
.::
o:0.

 

'MAO' 카테고리의 다른 글

0025. Balanced  (0) 2020.05.28
0010. Increment  (0) 2020.05.27
Markov Algorithm Online  (0) 2020.05.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함