본문 바로가기

CP_contest_Review

Goodbye 2020

반응형

대회 중 2솔을 했고, 업솔빙한 C까지 풀어보겠습니다

 

A. Bovine Dilemma

그냥 $\binom{n}{r}$인줄 알았는데, 삼각형의 넓이가 같으면 같은 삼각형으로 생각하기 때문에 이를 고려하여 문제를 해결해야합니다

저는 어차피 높이는 1로 고정되어있다는 지문의 내용을 바탕으로 밑변의 길이를 set에 넣어 몇개가 있는지 카운팅했습니다

 

B. Last minute enhancements

처음에는 set에 넣어 해결하려 했었는데, 마지막에 가장 큰 숫자가 있을 경우 정답보다 무조건 한개가 더 많아 질 수 있고, 이와 비슷한 맥락의 비슷한 경우가 많이 있어 대회중에 풀이를 바꾸었습니다

곡에 들어가있는 수를 trg로 두고 들어갈 숫자(A)와 비교하며 이 문제를 해결했습니다

if $(A+1==trg)$ continue

if $(A==trg)$ cnt++, trg++

else trg=A, cnt++

이렇게 카운팅해주면 해결 할 수 있습니다

 

C. Canine poetry

대회중에는 팰린드롬을 어떻게 다 세고있지라는 생각에 포기했었는데 끝나고 나서 에디토리얼을 보니 크기가 2,3인 경우만 생각하면 되는 쉬운 문제였습니다.

구현은 에디토리얼에 나온 그대로 구현했습니다

문자를 전문자와 전전문자와 비교하며 팰린드롬인지 확인을 하며, 이때 전문자, 전전문자가 이미 바뀐문자인지 아닌지를 같이 확인하면 됩니다

        for (int i = 1; i<n; i++) {
            bool flag = false;
            if (s[i]==s[i-1] && !mark[i-1]) {
                flag=true;
            }
            if (i>=2 && s[i]==s[i-2] && !mark[i-2]) {
                flag=true;
            }
            mark[i]=flag;
            ans+=mark[i];
        }

 

반응형

'CP_contest_Review' 카테고리의 다른 글

CF R696 D2  (0) 2021.01.20
ABC 188  (0) 2021.01.11
codeforces edu round 101  (0) 2020.12.31
Codeforces round 691 D2  (0) 2020.12.26
2020 google kick start round f  (0) 2020.10.04