PS 21

[BOJ 8481] Generator, 희대의 구데기 문제를 풀어보았습니다.

오랜만입니다. 리유나입니다. 최근 꾸준히 앳코더나 코포는 참여했지만 본진인 BOJ를 그렇게 열심히 하진 않았는데, 간만에 삘을 받아버린 바람에 이참에 8481이나 풀어야겠다! 하고 몇년을 묵힌 8481에 도전을 했습니다! 아마 16일 걸렸네요... 1. 그래서 이게 무슨 문젠데? 한국 PS판에서는 "8481"이라고 하면 그 자체만으로 이미 너무나도 유명한 숫자입니다. 저 문제는 "ONTAK 2010"이라는, 당시 폴란드 IOI 국가대표를 선발하는 시험에 출제된 문제고, 내용은 너무나도 간단합니다. 주어지는 숫자 0에서 10까지에 대해, 정해진 아웃풋 파일과 똑같은 것을 출력하면 됩니다. 사실 그걸로 끝이면 아무리 생각해도 국대 선발 문제도, 다이아 3 문제도, 유명 구데기 문제도 아닐텐데, 도대체 왜 그..

[BOJ 1081] 합, Digit DP가 뭘까?

안녕하세요. 리유나입니다. 생각해보니 ICPC에서 J번을 그럭저럭 괜찮은 페이스로 자력 해결을 했는데, 그보다 훨씬 쉬우면서 비슷한 로직을 가진 1081번 합.이라는 문제가 있었고 제가 이걸 6년 전, PS에 거의 처음 입문했을 때 시도했다가 틀린뒤로 건드리지도 않았다는 사실을 깨달았습니다. https://www.acmicpc.net/problem/1081 1081번: 합 L보다 크거나 같고, U보다 작거나 같은 모든 정수의 각 자리의 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 한번의 구현 실수를 제외하면, 아주 손쉽게 풀리는 스타일이었지만, 처음 입문하시는 분들이라면 다들 고등학교 시절의 저처럼 무언가 실수를 하실 부분이 있을듯 하니 도움이 되었으면 하는 바람에 포스팅을 시작합니다..

2023 ICPC Seoul Regional 본선 후기

안녕하세요. 리유나입니다. 11월 24일부터 25일까지 2023 ACM-ICPC 한국 리저널 겸 제 23회 전국 대학생 프로그래밍 경시대회를 치르고 왔습니다! 작년과 마찬가지로 MunSongSong Eggdrop(문송송 계란탁)으로 참여했고, 교내 2등, 전체 4등(외침 제외시 3등)으로 마무리했습니다. 아쉬운 점도 없지는 않지만 유종의 미를 거둔 것 같아 기쁩니다! 스코어보드 중계방송 기준 최종 스코어보드는 다음과 같습니다. (혹시 대회 TMI는 됐고 문제 풀이만 궁금하신 분이 계신다면 스크롤을 7. 문제별 풀이 정리까지 내려주시면 됩니다! ㅎㅎ) 아래는 대회 이전부터 끝나고 난 뒤까지의 타임라인입니다. 0. 팀 구성 작년에 이야기한대로 문송송 그대로 가는 것으로 확정했습니다. 중간에 한번 SongC가..

2023 ICPC Korea regional 인터넷 예선 후기

리유나입니다. 오랜만입니다. 현생 이슈로 PS를 정말 잘 못하고 있었는데, 그래도 ICPC는 나가야 하니깐,,, 매주마다 팀연습 하면서 감을 살리고 토요일에 ICPC 예선을 치르고 왔습니다! 팀은 작년과 그대로인 MunSongSong Eggdrop(문송송 계란탁)입니다. 스코어보드 우선 최종 스코어보드는 교내 2등, 전체 4등 했습니다! 사실 프리즈 이전에 2등이었는데 그뒤로 쭉 말려서 아무것도 못했던 게 뼈아프네요 ㅠ 타임라인 대강의 타임라인은 다음과 같았습니다. (시작 전) 대회 운영 측의 문제로 인쇄된 문제 종이가 늦게 도착한다는 공지를 받고 멘붕... 하는 수 없이 한문제씩 셋이서 다같이 읽으면서 풀기로 했습니다. (9분) 대강 훑으면서 C D G가 풀만한 문제인 걸 확인했고 D를 AC 받았습니다..

[BOJ 17646] 제곱수의 합 2 (More Huge), 무서운 루비를 풀어보자.

문제 링크는 이쪽입니다. 0. 이 문제는 도대체 뭔가? 제가 BOJ에서 풀었던, 아니 PS를 하면서 풀었던 모든 문제를 통틀어서 가장 시행착오를 많이 겪었던 문제가 아마 바로 이 문제가 아닐까 싶습니다. 생각보다 유명한 문제여서 solved.ac 기준 루비 4임에도 불구하고 제법 많은 사람들이 풀었지만, 그럼에도 결코 쉬운 문제는 아닙니다. 개인적으로 적어도 난이도 값은 무조건 하는 문제라고 생각합니다. 문제의 내용 자체는 사실 아주 간단한데, 어떤 자연수 n에 대해서 n을 제곱수들의 합으로 나타내라는 것입니다. 사용된 제곱수의 개수는 최소여야 하고요. 가령, n이 25라면 3^2+4^2로도 나타낼 수 있겠지만 5^2 하나로 나타내는 것이 더욱 적합하겠죠. 그런데 n의 범위가 10^18까지의 자연수네요...