728x90
반응형

블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다.


문제 설명

  • 각 층에 W개의 방이 있는 H층 건물이라고 가정하고, 엘리베이터는 가장 왼쪽에 있다고 가정한다.  이때, 모든 손님은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다.
    단, 손님은 엘리베이터를 타고 이동하는 거리는 신경 쓰지 않으며, 걷는 거리가 같을 시에는 아래층의 방을 더 선호한다.
  • 테스트 케이스 t개에 대하여 H, W, N을 입력받고, N번째로 도착한 손님에게 배정될 방 번호를 계산하는 프로그램을 작성하시오.
    (1 <=H, W <=99, 1 <=N <=H*W)

풀이 전략

  • n/h로 호수를 알 수 있으며, n%h로 층수를 알 수 있다.
  • 호수는 무조건 1 이상이므로 층수가 존재 할 시 1 증가시켜준다.

소스 코드

#include <iostream>

using namespace std;
int main()
{
	int count;
	cin >> count;
	
	int h, w, n;
	for (int i = 0; i < count; ++i)
	{
		cin >> h >> w >> n;

		int h1;
		int w1;
		w1 = (n / h);
		h1 = n % h;

		if (h1 > 0)
			++w1;
		else
			h1 = h;

		cout << h1 * 100 + w1 << "\n";
	}
}

링크

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

 

10250번: ACM 호텔

프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수

www.acmicpc.net

 

728x90
반응형