기타/백준
백준 C# 10250 ACM 호텔
Krapboss
2024. 7. 9. 13:53
https://www.acmicpc.net/problem/10250
문제
W : 호
H : 층
이 주어 질 때,
만약 H = 3, W = 5일때,
3번째 손님은 301호에 방을 배정 받는다.
4번째 손님은 102호에 배정 받는다.
세로를 기준으로 먼저 배정을 받을 때,
H,W, Index 일 때의 방 호수
해결
층을 기준으로 올림값과, 나눔값으로 XXYY에 해당하는 호수를 찾는다.
internal class E10250 // ACM 호텔
{
static void Main(string[] args)
{
int TestData = int.Parse(Console.ReadLine());
for (int i = 0; i < TestData; i++)
{
int[] data = Console.ReadLine().Split().Select(x=>int.Parse(x)).ToArray();
int roomX = ((data[2] + data[0]) % data[0]) == 0 ? data[0] : ((data[2] + data[0]) % data[0]);
int roomY = (int)Math.Ceiling(data[2] / (float)data[0]);
Console.WriteLine("{0:#}{1:0#}",roomX,roomY);
}
}
}
*RoomX
나머지값을 구함으로서, 현재의 방의 층수를 구함
1 10 2 의 경우 H와 Index의 나머지 값이 존재하지 않음으로, 1의 값을 그대로 대입해줌,
다른 예시로 2 10 6의 경우에도 나머지 값이 존재하지 않으나, 2층에 배정 받아야 하기에, 2의 값을 그대로 대입해
*RoomY
층수를 기준으로 방을 배정하기에, Index/H 값을 통해 나온 값을 올림을 취해주면 몇 호 인지 도출됨
출력 시 Format 지정을 통해 출