백준 10250_ACM 호텔[C++]
본문 바로가기
Algorithm/Python, C++

백준 10250_ACM 호텔[C++]

by liveloper jay 2022. 1. 25.

문제

 

 

풀이

 이 문제에서 손님들은 가까운 방을 선호하고 엘리베이터를 타는 경우는 신경쓰지 않는다고 되어있습니다. 만약 7층짜리 건물이 있다면 손님에게 방을 배정하게 될 경우 1호 라인, 즉 101~701호 까지 모든 방을 배정한 후에 2호 라인에 손님을 배정할 수 있습니다. 이런 방식으로 방을 배정하게 되면 풀이 방법은 다음과 같습니다.

 ABC라는 세 자리수가 있을 경우 먼저 층마다 가장 가까운 1호부터 배정하여야 하므로 A가 호텔의 층 수 만큼 증가할 것입니다. 그 다음 A가 정해진 층수를 모두 채우게 되면 A는 다시 1이 되고 C에 해당하는 수가 1 증가하고, 다시 A가 층 수 만큼 증가하는 것이 반복됩니다. 또한 C가 9일 경우 증가하게 되면 C는 0이 되고, B는 1이 증가하게 됩니다. 이런식으로 n만큼 반복 후 최종적으로 나오게 되는 ABC의 값을 출력해주면 됩니다. 

 

 

소스코드

#include<iostream>
using namespace std;

int main(){
    int t,h,w,n,cnt=0;
    int hcnt=0,one=1,ten=0;
    cin >> t;
    for (int i = 0; i < t; i++)
    {
        cin >> h >> w >> n ;
        for (int i = 0; i < n; i++){
            hcnt++;
            if (hcnt > h)
            {
                one++;
                hcnt=1;
                if(one==10){one=0; ten++;}
            } 
        }    cout << hcnt << ten << one << endl;
        hcnt=0; one=1;ten=0;
    }
}

 

 

 

'Algorithm > Python, C++' 카테고리의 다른 글

백준 2839_설탕 배달[C++]  (0) 2022.02.20
백준 2775_부녀회장이 될테야[C++]  (0) 2022.02.20
백준 1193_분수찾기[C++]  (0) 2022.01.25
백준 2869_달팽이는 올라가고 싶다[C++]  (0) 2022.01.24
백준 2292_벌집[C++]  (0) 2022.01.24

댓글