[백준(BOJ)] ACM 호텔(10250번)_C++
2023. 9. 4. 17:43ㆍProblem Solving/Math
728x90
반응형
SMALL
간단한 연산 문제다.
방 번호는 높이 H에 종속적이므로 N과 H를 가지고 잘 요리하면 쉽게 방 번호를 결정할 수 있다.
나는 층과 엘리베이터로부터의 거리를 각각 구했다.
층의 경우 N%H 로 쉽게 구할 수 있다.
이 중 for문을 돌린다고 생각해보면 최고층을 찍고, 다시 1층부터 시작한다.
단, N%H==0 이면 이 때는 층은 H이다.
엘리베이터로부터의 거리는 N/H이다.
최고층을 찍을 때마다 옆으로 옮기기 떄문이다.
단, N%H!=0 이면 이 때는 엘리베이터로부터의 거리는 N/H + 1이다.
시작 거리가 1이기 떄문이다.
정답 코드
#include <iostream>
using namespace std;
int T, H, W, N;
int main(){
cin.tie(NULL);
cout.tie(NULL);
ios_base::sync_with_stdio(false);
//input
cin >> T;
//test data
while (T--){
cin >> H >> W >> N;
int Y, X;
//calculate floor
Y = N % H;
if (Y == 0)
Y = H;
//calculate distance from elevator
X = N / H;
if (N % H != 0)
X++;
//output
cout << Y;
if (X < 10)
cout << "0";
cout << X << "\n";
}
}728x90
반응형
LIST
'Problem Solving > Math' 카테고리의 다른 글
| [백준(BOJ)] 회문인 수(11068번)_C++ (0) | 2023.09.12 |
|---|---|
| [백준(BOJ)] 헨리(10253번)_C++ (0) | 2023.09.05 |
| [백준(BOJ)] 나누기(1075번)_C++ (0) | 2023.04.10 |
| [백준(BOJ)] 곱셈(1629번)_C++ (0) | 2023.04.08 |
| [백준(BOJ)] GCD(n, k) = 1(11689번)_C++ (0) | 2023.03.29 |