fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 34400 (C++) 민규의 서카디안 리듬
최초 업로드: 2025-09-24 15:50:48
최근 수정 시간: 2025-09-24 15:50:48
게시자: rlatjwls3333
카테고리: 백준
조회수: 5
# [Bronze IV] 민규의 서카디안 리듬 [문제 링크](https://www.acmicpc.net/problem/34400) ## 문제 설명 <p>서카디안 리듬은 낮과 밤의 변화에 따라 24시간 주기로 반복되는 인간의 몸에서 일어나는 변화를 의미한다. 민규는 서카디안 리듬을 유지하며 규칙적인 삶을 산다. 따라서, 하루 24시간 중 16시간 동안 연속해서 깨어있고, 8시간 동안 연속해서 잠을 잔다. 어느 날, 윤수는 민규에게 사실 인간의 생체 리듬은 25시간이라는 정보를 알려주었다. 따라서, 민규는 생체리듬에 맞는 삶을 살기 위해 17시간 동안 연속해서 깨어있고, 8시간 동안 연속해서 잠을 자는 생활 패턴을 반복한다. 민규가 잠을 자기 시작하는 시각은 낮과 밤의 변화와 관계없이 본인의 리듬에 맞게 진행된다.</p> <p>평범한 삶을 사는 윤수는 민규에게 연락하기 위해 $t$시간 30분 후에 민규가 깨어있을지 자고 있을지 판단하는 프로그램을 만들어보자. 현시간 0시에 민규는 수면을 끝내고 깨어 있는 상태를 시작한다.</p> ## 입력 <p>첫 번째 줄에 테스트 케이스의 개수 $T$가 주어진다.</p> <p>두 번째 줄부터 다음 $T$개의 줄에 걸쳐 각 테스트 케이스 마다 $t$가 주어진다.</p> ## 출력 <p>각 테스트 케이스마다 민규가 깨어있으면 <span style="color:#e74c3c;"><code>ONLINE</code></span>, 자고 있으면 <span style="color:#e74c3c;"><code>OFFLINE</code></span>을 출력한다.</p> ## 풀이 주기가 25기 때문에 25로 나눈 나머지만 확인하면 됩니다. 17시간마다 잠에 드니, 값이 17보다 작다면 깨어 있고, 아니면 자고 있습니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int T; cin >> T; while(T--) { int t; cin >> t; if(t%25<17) cout << "ONLINE\n"; else cout << "OFFLINE\n"; } } ```