본문 바로가기

코딩테스트

[C++] 호텔

숙제 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