문제
풀이
엘리베이터를 타고 이동하는 거리는 고려하지 않고 가까운 방을 선호하고, 거리가 같은 경우에는 아래층을 선호하므로 각 층의 1호실이 아래부터 먼저 채워지고 다음 호실로 넘어갈 것이다.
그렇기에 호텔의 높이가 h고, n번째 손님일 때 배정되는 호실은 아래와 같다.
- n이 h로 나누어 떨어지면 배정되는 호실은 ((h * 100) + (n / h))호
- 나누어 떨어지지 않는다면 ((n % h) * 100 + (n / h) + 1)호
#include <iostream>
using namespace std;
int main() {
int t, height, width, n;
int result = 0;
cin >> t;
for (int i = 0; i < t; i++) {
cin >> height >> width >> n;
if (n % height == 0) result = height * 100 + (n / height);
else result = (n % height) * 100 + (n / height) + 1;
cout << result << "\n";
}
return 0;
}