풀이
짜라는대로 짜면 된다
약간 영어 독해 문제
코드
#include <cstdio>
#include <algorithm>
using namespace std;
inline int calc(int n) {
int r = 0;
while (n) {
r += n%10==9;
n /= 10;
}
return r;
}
int main() {
int h, m;
while (scanf("%d:%d", &h, &m) && (h || m)) {
int a = h*60+m;
int rcnt = -1, rerr = 1e9, ri = -1, rj = -1;
for (int i = 0; i <= 99; i++) for (int j = 0; j <= 99; j++) {
int b = i*60+j;
int cnt = calc(i)+calc(j), err = abs(a-b);
if (err*10 >= a) continue;
if (cnt > rcnt || (cnt == rcnt && err < rerr)) {
ri = i, rj = j, rcnt = cnt, rerr = err;
}
}
printf("%02d:%02d\n", ri, rj);
}
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이