티스토리 뷰
문제
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%10) printf("-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 |