10250 - ACM호텔
10250 문제 링크
접근법
손님은 엘리베이터에 가까울수록, 아래층일수록 선호하기 때문에 xx1호가 전부 채워지고나서 xx2호가 채워지기 시작한다. 조금만 더 생각해보면 N%H가 층수가 되고 호수는 N/H+1 이 된다. 호수가 10이 넘지 않으면 0을 출력하고 호수를 출력하면 된다.
#include <iostream>
using namespace std;
int main()
{
int Num;
cin >> Num;
for(int i =0; i<Num; i++)
{
int H,W,N, floor , room;
cin >> H; //floors
cin >> W; // rooms
cin >> N;
floor = N%H;
room = N/H+1;
if(floor == 0)
floor = H;
if(N%H == 0)
room = room-1;
cout << floor;
if(room >= 10)
cout << room<<endl;
else
{
cout << "0" << room << endl;
}
}
}
결론
하나하나 채워가는 경우를 처음에 생각했지만 식으로 간단히 할 수 있는 문제여서 더 재밌었던것 같다.