대회 후기를 써볼려고 한다..

사실 이 대회는 끝나기 약 15분 전에 들어와서 2문제 밖에 풀지 못했는데, 지금껏 내가 한 대회 중(몇개 안되지만) 가장 빨리 2개를 푼 셋이라 한번 올려본다.

앞으로는 모든 대회에 대한 후기를 올리도록 하겠다.

 

A. Determinant(100)

Problem Statement

Given is a  matrix A=[a b

                                                            c d].
The determinant of  can be found as 
Find it.

Constraints

  • All values in input are integers.

#include<stdio.h>
int main()
{
    int a,b,c,d;
    scanf("%d %d\n%d %d",&a,&b,&c,&d);
    printf("%d",a*d-b*c);
}

 

B. Quizzes(200)

Problem Statement

Takahashi will answer  quiz questions.
Initially, he has  points. Each time he answers a question, he gains 1 point if his answer is correct and loses  point if it is incorrect.
However, there is an exception: when he has 0 points, he loses nothing for answering a question incorrectly.

You will be given a string  representing whether Takahashi's answers are correct.
If the i-th character of  from the left is o, it means his answer for the i-th question is correct; if that character is x, it means his answer for the i-th question is incorrect.
How many points will he have in the end?

Constraints

  • 1≤N≤2×105
  • 0≤X≤2×105
  •  is a string of length consisting of o and x.

역시 간단한 구현 문제이다.

[88:09 AC]

 

#include <stdio.h>
int main()
{
    int i,a,b;
    char n;
    scanf("%d %d\n",&a,&b);
    for(i=0;i<a;i++)
    {
        char n;
        scanf("%c",&n);
        if(n=='o')
        {
            b++;
        }
        if(n=='x')
        {
            if(b==0)
            {
                b=0;
            }
            else
            {
                b--;
            }
        }
    }
    printf("%d",b);
    return 0;
}

 

대회 중에는 여기까지 풀었다.

늦게 들어와서 등수가 많이 떨어졌다.

C번은 업솔빙 예정이다.

'대회 후기 > Atcoder' 카테고리의 다른 글

AtCoder Beginner Contest 189 후기  (0) 2021.01.24
Atcoder Beginner Contest 186  (1) 2020.12.26
Atcoder Beginner contest 185 후기  (0) 2020.12.19

나는 애초에 KOI같은 대회는 나갈 생각도 없었고, 나가서 잘 할 것이라는 자신이 없었다.

엣코더, 코포 뉴비에 백준 플래 4가 뭘 하겠는가..

그런데 오픈 컨테스트가 있다는 것을 보고 뭔가 해보고 싶어서 신청을 해 놓고, 2시간 정도 시간을 내서 풀기로 했다.

1116825분경에 시험을 시작했고, 초등부 시험을 쳤다.(현재 초딩이다)

결론부터 말하자면... 심하게 뇌절했다.

1차대회 문제를 백준에서 업솔빙했을 때는 굉장히 쉬웠고, 고등부까지 포함해서 1문제 빼고 다 풀었던 기억이다.

그래서 2차대회도 쉽겠지? 하고 시험을 쳤는데 상당히 어려워서 뇌절했던 것 같다.

또 아는 알고리즘이 많이 없어서 푸는 방법은 알아도 구현을 못하는 (아주 큰)문제점이 있었다.(실제로 그런 이유로 3번을 못 푼 것 같다)

서론은 이쯤 하고... 문제 풀이와 본격적인 후기로 들어가자.

 

시작하자마자 1번으로 들어가서 문제 파일을 다운받았다.

1번 문제는 어렵지 않았다.

풀이는 다음과 같다.

 

(풀이)

N개 중 K개의 수를 어떻게 뽑아도 처음에 뽑은 수는 0, 그 다음은 1, 3번째는 2 ... 해서 K번째는 K-1 손해를 보게 되어있다.

그래서 가장 큰 K개의 수를 뽑아야 손해를 보더라도 최대가 됨을 알 수 있다.

이에 근거해 수열의 합 개념을 이용하면 문제의 답은 다음의 식과 같다.

(가장 큰 K개의 수) - (K-1)*K/2

문제도 쉽고, 나는 부분점수를 받을 생각을 안하고 애초에 정풀을 생각하려고 노력했기 떄문인지 바로 100점을 받을 수 있었다.

<코드>

이 코드로 19분만에 AC를 받았다. [2020/11/16/08:44] 100/100

2번 문제는 보자마자 뇌절을 하기 시작했다.

내가 어려워하던 종이접기 문제일 뿐만 아니라 이걸 어떻게 구현할지 전혀 감이 안왔다.

그래서 아무 생각도 안하고 첫 번째 부분문제만 풀기로 하고 k1일 때 나올 수 있는 정답이 몇 개인지를 직접 셌다.

얻어진 결과를 하드코딩한 결과 29점을 긁을 수 있었다.

근데 이 29점을 얻는 과정도 순탄하지가 않았던게, 여기서 구현미스로 뇌절을 거의 30분 가까이 했다.

여담으로 이 문제는 부분문제당 테케가 한 개씩, 전체 3개밖에 없었다. 지금 생각하니 대회에 이렇게 데이터가 약해도 되나 싶다.(1번 문제는 데이터가 200개 이상이다)

이 문제는 하드코딩을 했기 때문에(...) 굳이 코드를 공유하지 않겠다.

 

2번과 3번 문제를 봤는데...

어려워 보여서 문제만 읽고 걍 버렸다.

초딩이 이걸 어케 푸노,,

 

4번 역시 문제 읽고 버렸다.

 

그래서 1번에서 100을 얻어 총 100점으로 대회를 마무리했다.

백준에 문제들이 올라오면 2번 문제는 업솔빙할 예정이다.

 

'대회 후기 > 그 외' 카테고리의 다른 글

제4회 천하제일 코딩대회 후기  (2) 2021.01.03

+ Recent posts