백준 10250 ACM 호텔
호텔은 H층으로 이루어져있고
한 층당 W개의 방이 있다.
처음 온 손님 순으로
101호, 201호, 301호..... 순으로 방을 배정받는다.
그럼 군은 H개가 있는거고, 뒤에 있는 방 번호는 군 내에서 몇 번째 항인지 의미하는것.
H W N 입력될 때
6 12 10 이렇게 입력되면
1군 - 101,201,301,401,501,601,
2군 - 102,202,302,402
이렇게 된것!
1군당 6개씩 방이 있으므로
10번째 손님은 6+4
즉 2군의 4번째 항(402호)에 가게된다.
여기서 층수 4는 10을 6으로 나눈 나머지
호수 2는 10을 6으로 나눈 몫 +1
H W N 입력될 때
6 12 12 이렇게 입력되면
1군 - 101,201,301,401,501,601
2군 - 102,202,302,402,502,602
12번째 손님은 6+6
2군의 6번째 항 (602호)
12를 6으로 나눈 나머지가 0이면 층수는 H
12를 6으로 나눈 몫이 자연수2이면 호수는 몫
1군당 H개씩 방이 있으면
층수 : N을 H로 나눈 나머지 (나머지가 0이면 층수는 H)
호수 : N을 H로 나눈 몫 +1 (나머지가 자연수이면 호수는 그냥 몫)
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(bf.readLine());
int[] arr_H = new int[T];
int[] arr_W = new int[T];
int[] arr_N = new int[T];
for(int i = 0 ; i < T ; i++) {
StringTokenizer st = new StringTokenizer(bf.readLine());
arr_H[i] = Integer.parseInt(st.nextToken());
arr_W[i] = Integer.parseInt(st.nextToken());
arr_N[i] = Integer.parseInt(st.nextToken());
}
int floor;
int room;
for(int i = 0 ; i < T ; i++) {
if(arr_N[i] % arr_H[i] == 0) {
floor = arr_H[i];
room = arr_N[i] / arr_H[i];
}
else {
floor = arr_N[i] % arr_H[i];
room = arr_N[i] / arr_H[i] + 1;
}
System.out.println(floor*100 + room);
}
}
}