본문 바로가기

코드포스

[코드포스 Practice13] C. Save the problem!

 

처음 이 문제 봤을 때 너무 방대해서 어떻게 하나 했다ㅋㅋㅋ

너무 방대해! 조건도 없어!

뭐부터 건드려야할지 몰라서 패스했다. 

 

 

다시봐도 모르겠다.

그래서 힌트 얻어왔음

 

이렇게 조건없이 탁 트인 문제는 직접 제약조건을 걸어주면 좋다.

동전 종류가 1개일 때, 2개일 때....

 

 

 

 

 

 

동전 개수 제약을 걸면 이렇게 규칙이 나온다.

종류가 1개일 때는 무조건 1가지이고 종류가 2개일 때는...

 

1원과 2원만 있으면 모든 수를 다 만들 수 있다!

 

#include <iostream>

using namespace std;

int main() {
    int a;
    scanf("%d", &a);
    
    if (a == 1)
    {
        printf("%d %d\n", 1, 1);
        printf("%d", 1);
    }
    else
    {
        printf("%d %d\n", 2 * (a - 1), 2);
        printf("%d %d", 1, 2);
    }
    
    return 0;
}

 

코드가 너무 간단해서 문제 날로 먹는 기분 들었다. 

하지만 날로 먹으면 맛있찌