Post

UCPC 2026 예선

UCPC 2026 예선

오랜만에 Proposition으로 복귀하려고 했으나, 얘가 먼저 끝나는 바람에 이걸 먼저 보시면 되겠습니다.

2026년 6월 27일에 UCPC 2026 예선에 참가했습니다. 팀명은 쉬었음 청년, 팀원은 쉬었음 의대생 lindelof, 쉬었음 군인 jk410, 쉬었음 선제 gs22059입니다. 결과는 8+453/12=#13입니다.

팀 구성

팀은 5월 17일에 생겼습니다. lindelof님이 4월에 ‘팀하실?’을 선언하셔서 이번에도 별 생각 없이 그러기로 했습니다. 얼마 뒤에 jk410이 팀이 있냐고 물어봤고 마침 두 명이었던 저희는 팀을 이렇게 완성하기로 했습니다.

팀명 후보는 대여섯 개 정도를 생성했고 적당히 하나를 골랐습니다. 생각을 많이 하고 지은 팀명은 아니긴 합니다. 팀명에서 알 수 있듯이 군인이 포함되어 있어서, 예선 전 팀연습은 안 했고 대회는 각자 적당히 디스코드로 음성 없이 치기로 했습니다. 쉬었음 군인은 사지방에서, 쉬었음 의대생은 학교의 어딘가에서, 저는 집에서 치기로 했습니다.

작년 예선에도 ‘이러면 안 될 것 같은데 긴장이 하나도 안 됐다’고 적었던 것 같은데, 올해는 더 그랬습니다. 전날 밤에는 다다스와 함께하는 4달만의 리듬우락재활을 했고, 시험기간의 여파로 인해 꽤 오래 ps를 접은 상태에서도 아무 준비 없이 그냥 쳤습니다.

아래에서 모든 내용은 제 시점에서 아는 것만 기술합니다. 늘 그렇듯이 경어는 생략합니다.

초반 (0:00~0:23; A, C, E, D)

  • 적당히 가장 정상적인 환경에 있는 제가 A를 포함해 4개를 풀기로 했고, 중간을 쉬었음 군인, 뒤를 쉬었음 의대생이 잡기로 했습니다. 외에는 별다른 계획 없이 시작했습니다.
  • 제가 A를 읽었습니다. 구현해서 맞았습니다. (1분)
  • 제가 B를 읽었고, 스코어보드를 봤습니다. 수많은 A 솔브와 함께 C에 1솔이 있었습니다.
  • 제가 C를 읽었습니다. 무슨 투스텝이 이렇게 빨리 풀리나 싶었는데, 그냥 쉬운 문제였습니다. 구현해서 맞았습니다. (7분)
  • 스코어보드를 봤고, D와 E의 퍼솔이 있었습니다. (7분) 그래서 저는 D를 읽고 있었는데, 쉬었음 군인이 E가 쉬운 것 같지만 안 보인다고 해서 뺏었습니다. (9분)
    • 이때쯤부터 쉬었음 의대생이 L을 잡고 있었습니다.
  • E번은 어디서 본 문제와 같거나 매우 비슷했습니다. 바로 구현을 시작했습니다.
    • 거의 동일한 문제가 지난 SUAPC 26W H번으로 출제된 바 있습니다. 지난주의 ABC 등에도 비슷한 문제가 있다는 것 같습니다.
  • 언젠가 I번의 퍼솔이 나왔습니다. 쉬었음 군인이 이것을 보고 잡았는데 풀이가 나와서 구현한다고 가져갔습니다. (18분)
  • 저는 E를 구현해서 맞았습니다. (19분)
  • 저는 D로 돌아가기로 했고, 마저 읽어 보니 그냥 쉬운 문제라서 구현했고 맞았습니다. (23분)
  • 스코어보드를 봤고, 풀린 문제는 A, C, D, E, I, L이었습니다. 앞 4개는 풀었고 뒤 2개는 팀원들이 잡고 있었으므로 남은 문제를 순회하기로 했습니다.
  • 한 자리 등수를 차지하고 있었습니다. 꽤 잘하고 있다고 생각했습니다.

중반 (0:23~1:17; L, I, B)

  • 저는 B, F, G를 다시 봤고, G가 흥미로워 보여서 잠깐 잡았습니다.
  • 쉬었음 의대생이 L을 구현했고 맞았습니다. (33분) 스코어보드를 보니 B의 퍼솔이 나왔고, 일단 저는 B로 쉬었음 의대생은 J와 K로 돌아가기로 했습니다.
    • L번은 세그를 써야 하는 별로 안 쉬운 문제라는 것 같습니다.
  • B는, 무조건 적당한 값으로 우선순위를 퉁치는 유형의 그리디를 써야 할 것이라고는 생각했지만, 그 조건이 잘 보이지는 않았습니다. 이런저런 합이나 차를 그리디로 쓸 근거를 찾기 위해 노력했습니다.
    • 제출 시점부터 거꾸로 생각하면 조금 더 조건이 보기에 괜찮아지는 것 같았고, 이 상태에서 빵을 하나씩 구워야 한다는 조건을 어떻게 쓸 수 있을지 고민했습니다.
  • 쉬었음 군인이 I를 구현했고 맞았습니다. (42분) 이 시점에 3등이었고, 6문제를 풀었는데 패널티를 하나도 안 쌓았으므로 매우 잘 하고 있다고 생각했습니다.
  • 이 시점에 쉬었음 의대생은 K번이 아는 문제와 매우 비슷하게 생겼다며 가져갔고, 쉬었음 군인은 일단 남은 문제를 하나씩 보기로 했습니다.
  • 스코어보드에 J 솔브가 있어 일단 제가 읽었고, 그냥 어려워 보여서 조금 생각하다가 B로 돌아갔습니다. (50분)
  • 이 시점 쉬었음 군인은 J와 K를 읽고 K에 대해 쉬었음 의대생과 잠깐 대화했습니다. 이후 쉬었음 의대생이 K에 대한 관찰을 쏟아냈습니다. (54분)
  • 저는 앞의 B 관찰에서 이어서, 가장 마지막으로 굽는 빵의 신선도는 나머지 빵의 굽는 시간보다 커야 한다 -> 남은 빵들의 굽는 시간의 총합보다 신선도와 굽는 시간의 합이 큰 빵만 그중 마지막에 구울 수 있다는 관찰을 했습니다. 따라서 신선도와 굽는 시간의 합이 큰 순 우선순위큐를 만들고 나면 나머지 디테일은 적당히 될 것이라 생각했습니다. 여기까지 한 뒤 B 구현을 시작한다고 보고했습니다. (60분)
  • B의 구현이 간단하지는 않았지만 적당히 됐습니다. 그래서 B를 맞았습니다. (77분) 이때까지도 패널티가 하나도 없었고 5등 언저리였어서 매우 잘하고 있다고 생각했습니다.

후반 (1:17~3:00, J)

  • F와 G의 퍼솔이 나와 있었고, 쉬었음 군인이 J가 안 풀린다고 하여 일단 J로 돌아가기로 했습니다.
  • 쉬었음 의대생은 일정상 120분 시점 이전에 조기퇴실을 해야 했고, 남은 시간동안 K를 더 잡고 있는 것이 안 좋다고 생각해 남은 30여분동안 F를 보기로 한 것 같습니다. 저는 아직 K를 안 읽었어서 이때 읽었습니다.
  • 저는 K를 읽고 ECNA 21~25 중 하나에서 나왔던 Hilbert’s Hedge Maze랑 비슷한 정도의 구현을 요구할 것이라 생각해서 별로 풀고 싶지 않았습니다.
  • 이후 쉬었음 군인도 K는 잡으면 안 될 것 같다고 주장했습니다. (93분) 이때쯤 저는 G를 보고 있었는데, 그냥 어려운 문제인 것 같았습니다.
  • 쉬었음 의대생이 F가 매트로이드라고 주장했습니다. (94분) 저는 2년 전에 매트로이드에 대한 설명을 한 번 들은 이후로 더 이상의 지식이 없어서, 그냥 그런가보다 했습니다.
  • 저는 G가 S가 아닌 2\^S의 기댓값이라 개어렵다고 주장했습니다. (98분)
  • 쉬었음 의대생이 조기퇴실하기로 했습니다. (109분) 사실 당장 3명이 모두 조기퇴실해도 본선 진출에는 문제가 없을 것 같았지만, 1솔은 더 하고 싶어서 조기퇴실은 하지 않았습니다.
  • G보다는 J가 많이 풀리고 있었고, 남은 시간동안 두 명이 다 J를 박는 것이 올바른 전략이라 생각해서 J로 돌아왔습니다.
  • 저는 J에 어떠한 그리디 전략을 고안했고(113분), 구현해서 틀렸습니다(132분), 시간 초과(137분), 틀렸습니다(145분)를 받았습니다. 같은 시기 쉬었음 군인도 틀렸습니다를 받았습니다. (138분)
  • 저는 쉬었음 군인의 J 틀렸습니다 코드를 보다가 지문을 잘못 읽은 것을 발견했고, 얼마 안 가 쉬었음 군인의 -1 판별 로직을 적당히 디벨롭해서 답과 구간을 적당히 매칭해주는 그리디를 발상했습니다. (약 155분)
  • 저는 J의 이것을 구현했고, 앞선 틀렸습니다 솔루션을 위해 만들었던 몇 가지 예제에서 디버깅했습니다. 예제 하나에서 답이 생각하는 것과 다르게 나와서 고생하다가, (169분) 사실 잘못된 것은 코드가 아닌 제 머리라는 사실을 깨닫고 그대로 제출했더니 맞았습니다. (171분)
  • 남은 시간동안 유의미한 퍼포먼스를 내는 것은 불가능해 보였고, 쉬었음 군인에게서 K번의 뇌풀이를 듣고 G에 매직쇼와 관련된 똥을 하나 제출해 스코어보드에 긴장감을 조성한 뒤 대회를 마쳤습니다.

이후

작년과 달리 야부리를 털 런 동방이 제 주변에 없었습니다.

일단 솔브드 디스코드에서 여론을 구경했습니다. K번 구현의 더러움에 관한 논의가 기억에 남습니다. 출제자가 ‘가장 짧은 솔루션은 ‘에디토리얼이 바로 나와서 난이도를 훑었고, 풀 만했지만 못 푼 문제가 G번밖에 없어서 이 정도면 3시간 퍼포로 나쁘지 않다고 생각했습니다.

주변 팀들의 퍼포먼스에 대해 이야기를 나눴고, 생각보다 잘하는 팀들이 많았습니다. 스코어보드가 언프리즈되고 나니 8솔브 팀이 리터럴리 25팀이 있어서 (8솔브 25팀을 어디서 본 것 같은 사람: ㄱ-) 개빡세다고 생각했습니다.

연세대 팀들 (특히 25/26학번이 속한 팀들)과 경곽 팀들과도 대화했습니다. 주변의 9+솔팀은 3 lighton이 속한 2위 Avg04, 작년의 Ssalhur에서 jk410이 빠지고 Jjanckeylove jjang36524님이 들어간 3위 Journey to Daejeon 정도가 있었고, 외의 매우 많은 주변 팀들이 8솔브를 했습니다.

단방향이든 양방향이든 작년처럼 아는 팀들에 대한 이야기를 하자면,

  • 1위 Just Use CRT는 바로 그 팀인데 월파 전 라스트댄스를 UCPC로 가져가려는 것 같습니다. 역시나 압도적이네요.
  • 2위 Avg04는 lighton을 제외하면 정확한 구성을 제가 모르지만, 서울대의 고트들이 신기한 조합으로 모인 팀인 것 같습니다. 아마 저기서 약간의 수정을 거친 팀이 다음 서울대의 1군이 될 것 같습니다.
  • 3위 Journey to Daejeon은 40기 친구 두 명이 있는 팀입니다. 아마 이 팀으로 올해 ICPC를 트라이하는 것 같은데, 그냥 서울대의 1.5군 정도 되는 퍼포가 나오는 신흥 강팀이 새로 생긴 것 같아 보여서 무섭습니다.
  • 9위 트게쿼는 아마 작년의 공백어쩌고마침표공백에서 jjang씨가 빠지고 terra뭐시기님과 lulu뭐시기님이 붙은 4인팀인 것 같습니다. 패널티가 하나도 없고 전반적으로 깔끔해서 개신기합니다.
    • 쿼를 담당하는 분의 이름인 긴 랜덤 문자열은, 사실 랜덤 문자열이 아니고
  • 10위 alreadyallsolved는 연세대의 미래 kolorvxl님이 포함된 팀인데, 여기도 조합이 신기한 것이 아마 문제-함께-풀기에서 적당히 만들어진 팀이 아닐까 싶습니다. 여기도 패널티 관리를 굉장히 잘한 것 같습니다.
    • UCPC 팀을 ICPC랑 맞춰나갈 생각도 있었는데, 팀을 구할 시점에 JYJin님은 출전을 그렇게 원하지는 않아 보이셨고 vxl님은 이미 팀을 만드신 것 같아서 지금과 같은 이상한 조합이 만들어졌습니다.
  • 11위 Candidate Masters는 포스텍의 새로운? 강팀입니다. 이 조합으로 ICPC에도 출전하신다는 것 같은데, 전준우보다도 강한 팀이 될 수 있을 것 같아 포스텍의 발전이 두렵습니다.
  • 12위 군인 군인 대학원생은 작년에 제가 속했던 세상에 나쁜 언어는 없다에서 저 대신 저와-패트와매트-혹은-덤앤더머-비슷한-거를 담당하고 계신 대학원생 octane님이 끼어서 만들어진 팀입니다. 세나언과 대략 비슷한 퍼포를 낼 것이라 생각했는데, 작년에 제가 버스를 탔고 실제로 이번에 진 것을 보면 대충 맞는 것 같습니다.
    • ‘저와-패트와매트-혹은-덤앤더머-비슷한-거’에 대해서는, 지난 런 봄대회와 관련해 할 이야기가 있는데, 이것에 대한 내용은 일단 미루겠습니다.
  • 저희가 13위입니다.
    • 7위 쉬고있음청년과 16위 늙었음청년, 그리고 저희가 세 청년 팀을 담당하고 있는 것 같은데(그게 뭔지는 잘 모르겠지만), 세 팀 다 개잘하는 것 같습니다.
  • 19위 팀명 정하느라 A번 못 풀듯은 연컴 25의 juwonhymeskRyu가 연세대의 신흥 강자 jkrt님과 만든 팀입니다. 실제로 굉장히 널널하게 본선에 오는 데 성공해서 매우 강한 팀이 만들어졌다고 생각하고 있습니다.
  • 20위 전준우는 40기 친구 두 명이 있는 다른 팀입니다. 위의 캔디마즈와 함께 포스텍의 쌍두마차 역할을 하고 있습니다. 근데 그냥 다른 건 모르겠고 팀명이 너무 폭력적인 것 같습니다. junwoojune 본인이 , , 중 무엇을 담당하고 있는지는 잘 모르겠지만, 아무튼 작년보다는 훨씬 안정적으로 본선에 온 것 같아 다행입니다.
  • 22위 본선가면울릉도에서팀연습은 SEVERANCE의 dong5995님이 속한 팀입니다. 아마 본선에 오신 것 같은데, 울릉도에서 팀연습을 꼭 해주시면 좋겠습니다.
  • 25위 UCPC 딸깍하기는 작년에 이어 다시 나온 서울대 팀으로, 여기도 40기 친구들이 속해 있습니다. 아직 PS를 하고 있구나 싶어서 반가웠습니다.
  • 29위 귀요미외2인은 카이스트 팀인데, 누가 귀요미를 담당하고 계시는지 궁금합니다.
  • 30위 1 MiB도 카이스트 팀인데, 그렇다면 팀원 중 한 분이 1 MiB를 담당하고 계시는 걸까요?
  • 68위 임예찬여친구함은 연컴 25학번 3명이 모여서 만들어진 팀인데, 본선 등수에 못 든 것 같아 아쉽고 한 등수만 높게 했으면 역대급 밈로켓이 될 수 있었을 것 같아 더 아쉽습니다.
  • 98위 GSHS는 명예경곽, 짭경곽, 경곽으로 이루어졌다는데, 누구신지 궁금해서 적었습니다.
  • 99위 solved-ac는 startlink, baekjoon, shiftpsh로 이루어졌다는데, 역시 누구신지 궁금해서 적었습니다.
  • 외에도 아는데 잘 몰라서 안 넣은 팀들이 여럿 있습니다.

리뷰

  • 제가 3명 중 유일하게 정상적인 환경에서 3시간 내내 대회를 칠 수 있는 상황에 있었고, 그래서 자연스럽게 8문제 중 6개를 해결하며 작년에 비해 버스를 덜 탔습니다. 제대로 된 3인 퍼포가 나오기 쉽지 않은 환경에서 등수-적으로 작년과 크게 다르지 않은 퍼포먼스가 나온 것을 보면 확실히 작년과 올해에 팀셋을 많이 먹은 것이 유의미한 도움이 되고 있나 봅니다.
  • 풀지 못한 유일한 의도 플레는 G번이 있습니다. 근데 G번은 슥보상으로도 최상위권의 몇 팀을 제외하면 못 풀었으므로 크게 아쉽지는 않은 것 같습니다. 오히려 J번에서 지문을 잘못 읽고 패널티를 적립해서 8솔단 내에서 등수를 끌어내리는데 유의미한 역할을 했기 때문에, 잘못한 부분이 있다면 그쪽인 것 같습니다.
  • 외에, lindelof님이 8문제 중에서는 가장 어려운 (것으로 의도된) L번을 초반에 밀어 주셨으므로 좋습니다.

본선에서 뵙겠습니다. 감사합니다.

This post is licensed under CC BY 4.0 by the author.