백준에서 개최되었던 대회이다.

백준 대회에서 처음으로 3솔 해서 간단하게나마 블로그에 정리해 본다.

푼 문제가 다 브론즈다 ㅠㅠ

시작하자마자 문제를 풀었고, 푸는 속도도 나름 괜찮았는지 초반에는 등수가 상당히 작은 한자리 수였다.

4등까지 올라갔던 것 같다.

하지만 시간이 지나면서 고수분들은 어려운 문제들을 척척 푸시고, 나는 그러지 못해서 결국은 등수가 큰 2자리 수로 내려갔다 ㅠㅠ

그럼 풀이로 들어가자.

 

PA. 세금

-> 간단한 수학 문제이다.

-> 문제에서 전체 상금의 22%를 제세공과금으로 납부하는 경우와 상금의 80%를 필요 경비로 인정받고, 나머지 금액        중 22%만을 제세공과금으로 납부하는 경우의 수령 금액을 구하라고 했는데, 이를 수학으로 풀면 된다.

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    printf("%d %d",n-(n*22/100),n-(n*20/100)*22/100);
}

[00:03 맞았습니다!]

 

이 문제에서 처음에 너무 복잡하게 생각해서 코드를 이상하게 짜는 바람에 1번 미스가 나서 시간을 너무 많이 쏟아 버렸다.

쉬운 문제는 쉽게 생각해야 한다. 이것은 코포 div.3에서도 적용된다.

(나는 자꾸 쉬운 문제를 어렵게 생각하고 긴장해서 1분만에 풀 것을 10분도 넘게 걸린다 ㅠㅠ)

PA번 다음 문제는 PB번인데, 내가 PB번을 봤을 때 첫인상이 너무 어려워 보였다.

그래서 다음 문제들을 슥 훑어보던 도중 굉장히 쉬운 문제를 또 찾게 되었는데, 바로 D번이다.

D번을 빨리 찾은 것이 신의 한 수였다.

 

D. Darius님 한타 안 함?

-> 역시 간단한 문제이다.

-> 조건문으로 a+c<b 또는 b=0 이면 hasu를 출력하고, 아니면 gosu를 출력하면 된다.

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d/%d/%d",&a,&b,&c);
    if(a+c<b||b==0) puts("hasu");
    else puts("gosu");
}

[00:05 맞았습니다!]

 

이 문제를 푸는데 걸린 시간이 PA번 푸는데 걸린 시간보다 짧다,,

그만큼 PA에서 긴장한 것 같다.

이 문제를 품으로써 나는 비록 초반이지만 5분만에 2문제를 푼 상위권으로 올라가게 되었다.

그리고 다른 문제들을 스캔하던 중 E번이 눈에 들어와서 고민을 해 보았다.

하지만 아무리 생각해도 답이 나오질 않아서 포기하고 J번을 보았더니 조합 문제였다.

교란순열 관련 문제여서 간단하게 짜서 컴파일러에서 돌려보니 정답이 잘 나와서 제출하려는 순간..

뭔가 큰 테케에서 틀릴 것 같았다.

내 감은 틀리지 않았고, 최대치를 입력해본 결과 실행시간이 압도적으로 길어졌다.

그래서 어떻게 하면 교란순열 구하는 과정을 최적화할 수 있을 까 고민하다가 그냥 포기하고 공부하러 들어갔다.

그리고 대회 시작 약 2시간 후에 나와서 다시 문제를 훑어보는데..

뭔가PC번에서 느낌적인 느낌으로 두 문자열의 길이를 더한 것이 답일 것 같았다.

그래서 PC번을 풀게 되었다(...)

 

PC. 스시

-> 처음 볼 때는 상당히 어려워 보인다.

-> 하지만 문제를 잘 관찰해 보면 두 문자열의 길이를 더한 것이 답이 됨을 알 수 있다.

#include<stdio.h>
#include<string.h>
int main()
{
    int n,cnt=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        char str[101];
        scanf("%s",str);
        cnt+=strlen(str);
    }
    printf("%d",cnt);
}

[02:32 맞았습니다!]

 

진짜 감이 잘 들어맞은 문제였다.. ㄷㄷ

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

KOI 오픈 컨테스트 후기  (0) 2020.11.16

+ Recent posts