※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 26947번 문제인 Klockan이다.
문제는 아래 링크를 확인하자.

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

 

26947번: Klockan

Om någon frågar hur mycket klockan är, svarar de flesta "kvart över fem", 15:29 eller något liknande. Vill man göra det lite svårare så kan man annars svara med vinkeln mellan tim- och minutvisaren, eftersom man ur denna information entydigt kan be

www.acmicpc.net

시곗바늘은 1분이 지날 때마다 시침은 0.5도, 분침은 6도씩 회전한다는 사실을 상기하자.

 

가능한 시간 표기는 720가지뿐이므로, 00시00분부터 1분씩 시간이 지날 때마다 각 바늘의 각도의 변화를 직접 시뮬레이션을 돌려 문제를 충분히 해결해보자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int h, m;
int deg;
int T;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> deg;
	while (1) {
		int d = m - h;
		if (d < 0) d += 3600;
		if (deg == d) break;
		T++;
		h = (h + 5) % 3600;
		m = (m + 60) % 3600;
	}

	h = T / 60, m = T % 60;

	if (h < 10) cout << 0;
	cout << h << ':';
	if (m < 10) cout << 0;
	cout << m;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 26933 // C++] Receptet  (0) 2023.01.11
[BOJ 26905 // C++] Sortera spellistan  (0) 2023.01.11
[BOJ 26936 // C++] Gourmeten  (0) 2023.01.11
[BOJ 26943 // C++] Turnering  (0) 2023.01.11
[BOJ 18154 // C++] Speeding  (0) 2023.01.11

+ Recent posts