728x90
반응형

문제

10250번 : ACM 호텔

 

10250번: ACM 호텔

문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정

www.acmicpc.net

 

내가 작성한 코드 (C++ 성공)

#include <iostream>

using namespace std;

int main(){
	int t;
	cin >> t;
	
	int h, w, n;
	
	for(int i=0; i<t; i++){
		cin >> h >> w >> n;
		
		int floor = 1;
		int num = 1;
		
		for(int j=1; j<n; j++){
			if(floor == h){
				floor = 1;
				num++;
			} else {
				floor++;
			}			
		}
		
		cout << floor*100 + num << "\n";
	}
	
	return 0;
}

 

정리

엘레베이터에 상관없이 엘레베이터에서부터 거리가 가까운 순서대로 방을 배정한다.
따라서, 층을 늘려가면서 꼭대기 층에 도착했을 때 다시 1층으로 가고 방 번호를 증가시켜준다.
층은 XX, 방 번호는 YY 라고 했을 때 XXYY 가 되므로 출력할 때 자릿수를 맞추어 출력해준다.
단순히 숫자를 더해가며 위치를 구해가는 문제였다.

728x90
반응형
복사했습니다!