fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 34619 (C++) 소대 배정
최초 업로드: 2025-10-12 02:04:52
최근 수정 시간: 2025-10-12 02:04:52
게시자: rlatjwls3333
카테고리: 백준
조회수: 12
# [Bronze II] 소대 배정 [문제 링크](https://www.acmicpc.net/problem/34619) ## 문제 설명 <p>오늘은 하늘이가 공군 기본군사훈련단에 입소하는 날이다.</p> <p>하늘이가 배정된 대대에는 $a$개의 중대가 있고, 각 중대에는 $b$개의 소대가 있으며, 각 소대에는 정확히 $n$명의 훈련병이 배정된다.</p> <p>모든 훈련병들은 입소한 순서대로 다음 규칙에 따라 소대에 배정된다.</p> <ul> <li>$1$중대 $1$소대부터 채운다.</li> <li>한 소대에 $n$명이 모두 채워지면, 같은 중대의 다음 소대로 이동한다.</li> <li>해당 중대의 마지막 소대까지 채워지면, 다음 중대의 첫 번째 소대로 이동한다.</li> </ul> <p>예를 들어 $a=2, b=3$이라면, 소대 배정 순서는 다음과 같다.</p> <p>1중대 1소대 → 1중대 2소대 → 1중대 3소대 → 2중대 1소대 → 2중대 2소대 → 2중대 3소대</p> <p>하늘이가 $k$번째로 입소한다고 할 때, 하늘이는 몇 중대 몇 소대에 배정되는지 구하여라.</p> ## 입력 <p>정수 $a,\ b,\ n,\ k$가 공백으로 구분되어 주어진다. ($1 \le a, b, n \le 10$)</p> <p>하늘이가 소대에 배정되지 못하는 경우는 없다. 즉, $1 \le k \le a \times b \times n$을 만족한다.</p> ## 출력 <p>두 정수 $i,\ j$를 공백으로 구분하여 출력한다.</p> <p>이는 하늘이가 $i$중대 $j$소대에 배정되었음을 의미한다.</p> ## 풀이 사람 1명씩 더해가며 어느 소대에 위치하는지 확인하면 됩니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int a, b, n, k; cin >> a >> b >> n >> k; int i=1, j=1; while(k>n) { k -= n; if(j++==b) { j=1; i++; } } cout << i << ' ' << j; } ```