티스토리 뷰

문제


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



문제요약


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

2. 냉동음식마다 전자레인지로 요리해야할 시간 T가 초단위로 표시되어 있다.

3. 우리는 A,B,C 3개의 버튼을 적절히 눌러서 그 시간의 합이 정확히 T초가 되도록 해야 한다. 단 버튼 A, B, C를 누른 횟수의 합은 항상 최소가 되어야 한다. 이것을 최소버튼 조작이라고 한다.


입력 : 요리시간 T(초), 출력 : A, B, C 버튼 횟수 (3개의 버튼으로 T초를 맞출 수 없으면 음수 -1을 출력)


풀이과정


그냥 A->B->C 순으로 버튼을 많이 눌러서 해결하면 될 거 같다고 생각하고 제출했는데 맞았다.


소스코드

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 <iostream>
 
using namespace std;
 
int main()
{
    // T : 요리시간(초)
    // A : 5분(300초), B : 1분(60초), C : 10초
    int T,A=0,B=0,C=0;
 
    cin >> T;
 
    // 10으로 나눠떨어지지 않으면 해결못한다. -1 출력
    if(T%10printf("-1");
    else
    {
        A = T / 300;
        T %= 300;
        B = T / 60;
        T %= 60;
        C = T / 10;
        T %= 10;
        printf("%d %d %d", A, B, C);
    }
 
    return 0;
}
cs


'알고리즘 > 백준' 카테고리의 다른 글

[백준] 10163번 색종이  (0) 2017.11.28
[백준] 2839번 설탕배달  (0) 2017.11.26
[백준] 10836번 여왕벌  (0) 2017.11.23
[백준] 10835번 카드게임  (0) 2017.11.22
[백준] 10834번 벨트  (3) 2017.11.21
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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 28
글 보관함