Home Codeforces Round #635 (Div. 2) 후기
Post
Cancel

Codeforces Round #635 (Div. 2) 후기

어제 첫 contest에 참여하였으나 아쉬웠던 부분이 많았다. 그래서 오늘은 시간에 쫓기지 않겠다는 다짐으로 시작시간까지 대기하여 참여하였다.

이번에는 Div.3이 아닌 Div.2에 참여하였다. 나의 실력이 어디까지인지 시험해보는 것으로 목표를 잡았다.

문제는 총 2개를 풀어냈다.

A. Ichihime and Triangle

풀이 보기

풀이

문제에서 주어진 조건으로, x=b,y=c,z=c 등 여러가지 방법이 가능하다.

전혀 어려운 문제가 아니었다. 말장난에 놀아난 기분이었다.

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(t)
{
    for (scanf("%d", &t); t; t--)
    {
        long long temp[4];
        for (int i = 0; i < 4; i++)
            scanf("%lld", temp + i);
        printf("%lld %lld %lld\n", temp[1], temp[2], temp[2]);
    }
    return 0;
}

B. Kana and Dragon Quest game

풀이 보기

풀이

사용할 수 있는 skill은 2가지이다.

  • xx/2+10으로 만든다.
  • xx10으로 만든다.

x가 20이 넘는다면, 1번 skill를 사용하면 2번 skill을 사용할 때보다 더 많은 damage를 줄 수 있다. 그렇지 않다면 오히려 health를 회복하는 상황이 발생한다.

health가 20보다 크다면 1번 skill을 계속해서 사용하다, 2번 skill로 잡을 수 있다면 true, 아니라면 false를 리턴한다.

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
 
int main(t)
{
    char temp[2][5] = {"NO", "YES"};
    for (scanf("%d", &t); t; t--)
    {
        int x, n, m, bo = 0;
        scanf("%d %d %d", &x, &n, &m);
        while (1)
        {
            if (x <= m * 10)
            {
                bo = 1;
                break;
            }
            else if (x > 20 && n > 0)
            {
                x /= 2, x += 10, n--;
            }
            else
                break;
        }
        printf("%s\n", temp[bo]);
    }
    return 0;
}

결과

ContestStart timeRankSolvedRating changeNew rating
#635 (Div.2)2020/4/15
23:35
90802-441324

코딩 속도도 느리고, 문제 이해력도 낮다는 것을 깨달았다. 영어를 빠르게 이해하지 못하는 것인지, 알고리즘이 떠오르지 않는 것인지 분간이 잘 되지 않았다. 난이도를 섣부르게 올린 잘못인가?

저번 contest와는 다른 아쉬움이 남았다. 나의 문제점이 정확히 무엇인지 파악하기 위해 난이도를 한 단계 낮춘 다음 나를 테스트해봐야겠다.

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