분류 전체보기(123)
-
BOJ 18457 - Knowledge
내가 살다살다 이런 토픽을 가진 문제를 볼 거라고는 예상하지 못했다. 출제자가 예상한 풀이법이 무엇인지는 모르겠지만 장담하건대 내 풀이법이 가장 생각하기 쉬울 것이다. 아니라면, 부디 연락해 달라. ta.nflight11@gmail.com으로 상세한 풀이과정을 주면 된다.물론 내 풀이법도 쉽지는 않다. 이게 대체 뭐야 싶은 것이기도 하고... Modular form을 배우고 있지 않았다면 못 풀었을 거다. 이게 뭔 상관이냐고? 풀이를 보라. 그럼 본격적으로 풀이에 돌입해 보자.문제당신은 \(a,b\)로만 구성된 문자열 \(s\)을 가지고 있다. 문자열의 어느 위치에서나 \(aa, bbb, ababab\)를 끼워넣거나 지우는 연산을 0회 이상, 순서 상관 없이 원하는 만큼 수행할 수 있다.당신의 목표는 이..
2025.07.31 -
BOJ 18447 - Angle Beats
16661번 문제를 풀던 11달 전부터 풀이는 대강 알고 있었는데, 구현을 할 자신이 없어서 묵혀 두고 있었다. 하지만 이제는 더 미루기 싫어서 이 문제를 잡아야겠다고 마음을 먹었다. 구현에 필요한 알고리즘을 공부하고, 알고 있는 풀이를 집어넣었더니 다행히 금방 풀렸다. 구현미스가 전부 예제나 손으로 생성한 테스트케이스에서 걸린 게 참 다행이 아닐 수 없다.그러면 본격적으로 풀이에 돌입해 보자.문제당신은 \(n\times m\) 크기의 직사각형 격자판을 가지고 있다. 모든 단위격자는 '*', '+', '.' 셋 중 하나는 포함하고 있다. 트로미노는 중심을 이루는 단위격자의 네 변 중 두 변에 각각 하나의 단위격자가 붙은 것을 일컫는다. 중심이 아닌 두 단위격자가 꼭지점을 공유하고 있을 때 이를 L 모양이..
2025.07.29 -
BOJ 33414 - Bitvzhuh
이 글을 쓰는 이유는 아래 사진으로 갈음한다. 그럼 본격적으로 풀이에 돌입해 보자.문제Daniyar는 최근 "Bitvzhuh"라는 마법 주문을 배웠다. 매우 높은 수준의 마법 주문임에도 불구하고 Daniyar는 이 주문을 완벽하게 배우고 주문에 숨겨진 가장 깊은 비밀까지 알아낼 수 있었다."Bitvzhuh"를 정수의 부분집합에 사용하면, 원래 집합을 두 원소를 골라 XOR한 값으로 구성된 집합으로 변환시킬 수 있다. 정확하게는, 원소 수가 \(n\)개인 집합 \(A=\{a_1,a_2,\cdots,a_n\}\)에 "Bitvzhuh"를 사용하면 \(A\)는 집합 \(\{a_i\oplus a_j\mid 1\le i 집합 \(A\)의 원소와 \(k\)가 주어졌을 때, Daniyar가 "Bitvzhuh"를 한 번..
2025.07.24 -
BOJ 24590 - Circle Bounce
오랜만에 풀어 보는 플래티넘 난이도의 문제다. 완전 깡수학 문제라서 마음에 들고, 풀이과정도 재미있는데다가 리저널 출신이라 많은 사람들이 풀어줬으면 좋겠다는 마음을 담아 지금부터 야무지게 추천하고 다니려고 한다. 그럼 본격적으로 풀이에 돌입해 보자.문제당신은 완벽한 원형의 경기장 벽에 서서 테니스 공을 있는 힘껏 던졌다. \(n\)회 공이 벽에 튕긴 후, 그 다음 테니스 공이 벽에 부딪히는 곳은 어디일까?경기장은 좌표평면의 원점을 중심으로 하는 반지름 \(1\)인 원이고, 당신은 \((-1,0)\)에 서 있다. 당신은 기울기가 \(a/b\)인 직선을 따라 테니스 공을 던진다. 벽과 테니스 공 간의 충돌은 완전 탄성 충돌이라 가정한다. 즉, 충돌로 인한 에너지의 손실은 전혀 없고, 입사각과 반사각은 같다...
2025.06.06 -
2025 서울대학교 SCSC 프로그래밍 경시대회 Div.2 2위 후기
Div.2에서 2등 했다. Div.2에서 2등 했다. 콩콩. 콩콩.이런 인생 고점의 결과가 나오고 나서 말하면 조금 이상하게 들리겠다만, 순위상을 기대하고 참가한 것은 아니었다. 그냥 아는 얼굴 한 번 보러 마실 겸 나들이 겸 해서 출전한 것 뿐. Div.2는 10등까지 삼성에서 후원한 이런저런 전자기기를 받는데, 지난 대회에서는 Div.2에 참가한 95명 중 37등이라는 애매한 등수를 받았기 때문이다. 그 때 이후로 체급이 딱히 올랐다는 생각은 정말로 한 적이 없는데, 이런 결과를 맞고 보니 체급이란 게 조금은 오른 걸까 하는 생각이 든다. 이젠 정말로 자신에 대한 저평가는 그만해야지. 몰매라도 맞을 것 같다.생각해 보면 참가신청 때부터 Div.3을 고려하고 있었는데, 그것마저도 자기 자신에 대한 엄청..
2025.05.18 -
BOJ 21768 - AND PLUS OR (Python3)
굉장히 오랜만에 블로그에 글을 쓰는 느낌이다. 대학원생이 된 이후로 바빠서 문제를 풀더라도 블로그에 글을 쓸 시간이 안 났다. 짬이 생긴 터라 오늘 푼 문제의 풀이를 작성한다.이 문제를 품으로서 수학 태그레이팅이 2600에 도달했다. 2700까지 올리고는 싶으나 아직 내가 그럴 만한 체급이 안 되는 것 같기도 하다. 천천히 올리자. 급하게 하지 말고.문제두 음이 아닌 정수 \(a,b\)에 대하여 \(a\wedge b, a\vee b\)는 각각 이들의 bitwise AND, bitwise OR를 나타낸다.음이 아닌 정수로 구성된 길이 \(2^N\)의 정수열 \(A_0,A_1,\cdots,A_{2^N-1}\)에 대해 \(A_i+A_j 입력첫째 줄에 음이 아닌 정수 \(N\)이 주어진다. \((0\le N\l..
2025.05.08