Always awake

UCPC 2025 / SUAPC 2025 Summer / NYPC Code Battle 후기 본문

PS

UCPC 2025 / SUAPC 2025 Summer / NYPC Code Battle 후기

죠. 2025. 10. 9. 19:12

서론

PS를 늦게 시작한 나는 ICPC 2024가 처음이자 마지막 대회였고, 예선은 20등으로 선방했지만 본선은 아쉽게도 40등에 그쳐 태평양본선에 가지 못했다...
어차피 1학기를 마지막으로 수료하기도 하고, Eligibility도 안맞아서 2025년은 PS접고 대회 안나가려고 하고 있었는데...

엣? 와타시?

그렇게 wlgh7407, g_grain, jungh150 의 팀이 맺어졌다.


UCPC 2025

예선

UCPC 예선에 대비해서 3번정도 연습도 했는데, 세번다 아슬아슬하게 올라가는정도? 여서 이정도면 올라가지 않을까 싶었다.

풀이 기록


너무 오랜시간이 지나 기억나지 않지만, 적당히 잘 써보겠다.

A.  체육은 수학과목 입니다 2 AC (0:01)

jungh150 가 어느샌가 맞아왔다. 1분에 풀어도 퍼솔이 안뜨는 세상이라니, 말세다.

B.  도미노 게임 AC (0:08)

jungh150 가 헷갈린다고 도움을 요청해서, 보고 바로 구현해줬다.

I. 로봇 청소기 1WA AC (0:24)

적당히 유파로 비벼서 맞아왔다. long long을 안해서 1틀을 했던가? 바보짓을 했다.

D.  연산 추가하기 2WA (0:34)

여기서부터 정말 말리기 시작했는데, 풀이 자체는 10분만에 나왔지만 계속 맞왜틀 상태에 있었다. int를 long long으로 바꾸어서 제출해도 틀렸고, 아무리 반례를 찾아도 안나왔다.

D.  연산 추가하기 2WA AC (1:44)

결국 나이브 코드를 짜고, 스트레스 테스트를 돌린 끝에야, lower_bound()를 진행할때 vector.end()를 가리키는 경우를 예외처리를 안해두어서, 숫자가 터진것을 발견해냈다. 진짜 미친 말도 안되는 기본적인 실수인데... 이거를 깨닫는데 70분이나 걸렸다. 이때 멘탈이 정말 많이 나갔다.

E.  콘서트 AC (1:59)

레이지 세그먼트 트리 위에서의 이분탐색이 돌겠다고 판단했다. 빠르게 짜서 한번에 맞았다.

H.  해안선 AC (2:30)

이걸 못풀면 죽는다는 각오로 어떻게든 증명하고 구현해냈다. 평소에 mod int를 만들어둔게 정말 다행이었다.


하아

선발은 55등까지였고, 특정 조건에 따라 5팀정도의 추가선발에 기대볼수밖에 없었다.

제발!!!

3순위로 연락이 왔고, 점심 서브웨이 무슨맛 먹을지랑, 티셔츠 사이즈까지 모든걸 다 제출하며 매일매일 기도하고 있었다.

 

 

그러나 이 폼 제출이 사용되는 일은 없었다.

 

 

UCPC 2023 추가선발 조건

이전에 UCPC 2023-4에서는 위와 같이 동일학교 3인 / 여성 참가자 포함 / 비전공자 포함 조건이 있었고,

우리 팀도 여성 참가자와 비전공자 조건이 충족되어서 행복회로를 조금 돌렸으나

 

UCPC 2025 추가선발 조건

2025에서는 정확하게 그 두개가 빠진 동일학교 3인 조건만 우대하고 있었고...

 

 

나는 저 메일을 받은 즉시 소주 두병을 때렸다.

팀원들한테 너무 미안했다

  • I번의 사소한 실수를 하지 않았거나
  • D번에 맞왜틀을 겪고 있을때 int와 long long 바꿔본 제출 한번을 안했거나
  • vector.lower_bound()가 end()를 반환할때 처리를 안한걸 3분만 빠르게 디버깅했거나
  • 그뒤의 세 문제를 각각 2분만 빠르게 풀었거나

했으면 갔을 상황이었기때문에...

리빙 포인트

새로 살구를 얼음컵 라지에 담으면 정확하게 딱 들어간다. 남들이 보기에 술같이 안보여서 더 좋다.

본선

그런데 본선파트가 왜있냐고?

멘탈이 나가서 이런거까지 모집했지만... 현실적으로 어려워서 팀원들끼리 만나서 오픈콘이라도 치기로 결정했다.

 


그런데 두문제정도 풀고, C 랜덤풀이가 계속 틀리는게 빡쳐서
3시간정도 친 후인 오후 2시, 정신승리를 위해 낮술이나 까러 가고 다음날 오전 5시까지 총 15시간 음주했다.


SUAPC

멘탈이 나간 세명은 다른 팀대회가 있는지 찾기 시작했지만 SUAPC는 g_grain이 운영진으로 있어 나갈수 없고, NYPC는 jungh150이 다른 팀이 있었다.
그래서 예전부터 친해지고싶었던 celina324를 영입해서 SUAPC준비를 시작했다.

 

https://jungh150c.tistory.com/307
자세한 SUAPC 후기글은 위 링크에 있다.

그나마 기억나는 내 풀이 기록들을 쓰자면


I. 돌 뒤집기 게임 (0:15)

스프라그-그런디인가? 싶었는데 좀 읽어보다가 모르겠어서 때려쳤다.

K. 숫자 놀이 AC (0:3)

K가 재밌어보여서 읽는데,


이런 ㄹㅈㄷ관찰이 보여서 짜서 내고, 맞았다. 퍼솔을 못해서 아쉬웠다. 어떻게 그렇게 빨리풀었지?

E. 솹씨 몇 도예요? 4WA AC (1:45)

celina324가 들고있는 문제를 훔쳐왔고, 정해랑 다른 거북이 탕끓여먹는 코드를 잘 써서 뚫엇다. 숫자를 헷갈려서 3틀을 추가로 박았다.

void solve(){
    cout << "? 1013" << endl;
    string S; cin >> S;
    if(S == "SUAPC!"){
        cout << "! 1013" << endl;
        return;
    }
    if(S == "Hot"){
        rep(i, 0, 7){
            cout << "? 506" << endl;
            cin >> S;
        }
        cout << "? 508" << endl;
        cin >> S;
        if(S == "Hot") cout << "! 507" << endl;
        else cout << "! 508" << endl;
    }
    else{
        rep(i, 0, 7){
            cout << "? 1520" << endl;
            cin >> S;
        }
        cout << "? 1518" << endl;
        cin >> S;
        if(S == "Hot") cout << "! 1517" << endl;
        else cout << "! 1518" << endl;
    }
}

거북이는 507도, 혹은 1517도 전후로 데쳐진다.

G. 두 수열 만들기 3WA AC (2:29)

내가 E를 틀리고 있는동안, 팀원들이 옆에서 G 관찰을 다해뒀길래 "? 냅색 역추적하면 되겠는데?" 하고 가져가서 짜왔다. 팀원들이 고마웠다.

F. Tri-Tree XOR 1WA (2:39)

자신감이 올라서 F 풀이를 내고, 짜고 틀렸다.
과도한 자신감은 독이 된다.

I. 돌 뒤집기 게임 AC (3:02)

F에 쓰레기 코드를 내고있는 사이, 옆에서 팀원 두명이 I에 대해 토론하고 있었다.
두명은 "1개, 2개는 세면 되고, 3개 있으면 홀짝을 결정할 수 있고, 4개는 3개를 주지 않기 위해서는 1/2개로 나누는 상황밖에 없고, 5개 이상은 홀짝성을 맘대로 고를 수 있다" 라는 관찰을 해놨다.
두명 몰래 코드를 짰고, 토의하는 두명에게 맞았다고 알려줬다.
나는 한게 없다.

M. 물고기와 쿼리 AC (3:54)

자신감이 올라서, 시간제한을 뚫자는 각오로 무지성 레이지세그를 박았다.
물론 정해는 세그 없이 바뀌는 타이밍을 잘 들고있는거였는데, 골드 1 애드혹을 플레 4 알고리즘으로 날먹했으면 수지가 맞는것같다.

B. Opening Time 1WA (4:51)

한참동안 F를 풀기 위해 트리를 그리는 우리들을 프린트담당인 ystaeyoon113이 비웃고 지나가서,
제출로 혼내줬다.

 

F. Tri-Tree XOR (5:00)

66분간 트리를 그렸고, 폭사했다.



아무튼 입상했고, 기뻤다.

상금으로는 한우 오마카세를 조졌다. 나이스


NYPC


같이 SUAPC를 나가지 못한 g_grain과 두명이서 NYPC에 나가기로 했다. 으흐흐
물론 둘이 나가자고 한건 다 계획이 있었다.


이상으로 대회후기를 마치겠다.

'PS' 카테고리의 다른 글

백준 일지 (~04/07)  (1) 2024.04.07