문제

 

 

풀이

 엘리베이터를 타고 이동하는 거리는 고려하지 않고 가까운 방을 선호하고, 거리가 같은 경우에는 아래층을 선호하므로 각 층의 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;
}

+ Recent posts