https://www.acmicpc.net/problem/10250
규칙을 파악하면 금방 풀리는 문제. 함정들에 조심하자.
높이 H에 너비 W, N번째 손님이 주어지는데, 사실 W의 값은 중요하지 않더라.
만약 6 12 10의 입력이 들어오면, 10번째 손님은 402호실에 들어가면 된다. 따라서 층수는 N과 H의 나머지, 호실은 N과 H의 몫 + 1인 셈이다.
이렇게만 보면 쉬운문제이지만, 함정이 있다.
N과 H가 나누어 떨어지는 경우 나머지값이 0이 되어 층수는 0층이 되고 호실은 한칸 더 옆실로 출력하여 꼬여버리기 때문에, 이런 경우를 방지해준다.
#include <stdio.h>
int main () {
int h,w,n,t;
scanf("%d", &t);
while (t--) {
scanf("%d %d %d", &h, &w, &n);
printf("%d", n%h == 0 ? h : n%h);
n = n%h == 0 ? n/h : n/h + 1;
if (n < 10) {
printf("0%d\n", n);
} else {
printf("%d\n", n);
}
}
return 0;
}
'coding_test > BAEKJOON' 카테고리의 다른 글
백준 11050번 C언어 풀이 (0) | 2021.08.27 |
---|---|
백준 1920번 C언어 풀이(미완) (0) | 2021.08.26 |
백준 2231번 C언어 풀이 (0) | 2021.08.25 |
백준 4153번 C언어 풀이 (0) | 2021.08.24 |
백준 1978번 C언어 풀이 (0) | 2021.08.24 |