#include <iostream>
#include <algorithm>
#include <iomanip>
#include <vector>
#include <math.h>
using namespace std;
int main() {
int N;
cin >> N;
int stair, number, chung, bang, son;
for(int i = 0; i < N; i++) {
cin >> chung >> bang >> son;
stair = son % chung;
if(stair == 0) cout << chung;
else cout << stair;
number = ceil((double)son / chung);
if(number >= 10)
cout << number << endl;
else cout << "0" << number << endl;
}
}
손님은 greedy 알고리즘처럼 순차적으로 좋은 위치를 점하게 되므로
손님과 층 방으로 나누어 생각을 해보았을 때 손님이 오는 순서대로 자리를 배정해준다고 생각하면 N번째 오는 손님은 층의 개수로 알 수 있게 됩니다. 그래서 손님을 층으로 나누고 몫만큼을 방번호로 가져가고 나머지만큼을 층으로 받게됩니다.
문제: https://www.acmicpc.net/problem/10250
'Problem Solving > 백준' 카테고리의 다른 글
[백준/C++] 10814번 나이순 정렬 (0) | 2022.02.10 |
---|---|
[백준/C++] 2693번 N번째 큰 수 (0) | 2022.02.10 |
[백준/Python] 2606번 바이러스 (DFS,BFS,유니온파인드) (0) | 2022.01.28 |
[백준/C++] 2822번 점수 계산 (0) | 2022.01.28 |
[백준/C++] 2164번 카드2 (0) | 2022.01.26 |