https://www.acmicpc.net/problem/10162

 

10162번: 전자레인지

3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은

www.acmicpc.net

 

 

[난이도] Bronze4
[유형] 구현

[풀이]
300초, 60초, 10초짜리 버튼 순으로 많이 사용하는 것이 유리하므로
T를 300으로 나눈 몫이 300초 버튼을 가장 많이 사용할 수 있는 갯수이고,
T를 300으로 나눈 나머지가 300초 버튼을 사용하고 남은 시간입니다.
이를 다시 60초, 10초에 대해서 연산해주어서 각 버튼을 몇번 사용하는지 구하면 됩니다.
만약 T가 10으로 나누어지지 않는다면 주어진 버튼으로 구할 수 없으므로 -1을 출력해주면 됩니다.

 

#include <cstdio>

int T;
int main(){
    scanf("%d",&T);
    if(T%10) {
        puts("-1");
        return 0;
    }
    printf("%d ",T/300);
    T%=300;
    printf("%d ",T/60);
    T%=60;
    printf("%d ",T/10);
    T%=10;
}

 


https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Bronze4/10162.cpp

+ Recent posts