숙제 5 (호텔)
A 호텔에서는 손님이 도착하는 대로 빈방을 배정하고 있다. 이때, A 호텔의 구조가 아래와 같을 때, N번째로 도착한 손님에게 방을 배정하는 프로그램을 작성하시오.
<규칙>
손님에게 방을 배정하는 규칙은 아래와 같다.
1. 호텔 로비에서 가까운 방부터 배정한다.
2. 호텔 로비에서 엘리베이터까지 거리는 무시한다.
3. 같은 거리를 이동하는 경우 엘리베이터로 이동 가능한 방을 우선 배정한다.
그리고 방 번호는 YXX 또는 YYXX 형태로, Y는 층수를 X는 엘리베이터에서부터 세었을 때 번호를 나타낸다. 위 조건에 따라 그림과 같은 구조에서 3번째 손님에게 방을 배정한다면, 같은 거리지만 엘리베이터로 이동할 수 있는 301호를 손님에게 배정하게 된다. 그리고 12번째 손님에게 방을 배정한다면, 같은 이유로 203호에 방을 배정한다
#include<iostream>
using namespace std;
int main()
{
int h=0x00;
int w=0x00;
int n=0x00;
int room=0x00;
cin>>h>>w>>n;
if(n%h==0) room=h*100+n/h;
else room=(n%h)*100+(n/h+1);
cout<<room<<endl;
return 0;
}
'코딩테스트' 카테고리의 다른 글
[C++] 다각형 면적 (0) | 2021.06.27 |
---|---|
[C++] 삼각형 면적 (0) | 2021.06.27 |
[C++] 수직/수평 선분의 교차 (0) | 2021.06.27 |
[C++] 사각형과 점 과의 거리 (0) | 2021.06.27 |
[C++] 삼각형의 종류 (2) (0) | 2021.06.27 |