https://www.acmicpc.net/problem/24337
24337번: 가희와 탑
일직선으로 다양한 높이의 건물들이 N개 존재합니다. 가희는 건물들의 왼쪽에, 단비는 건물들의 오른쪽에 있습니다. 일직선 상에 가희와 단비, 건물들은 아래와 같은 순서로 배치되어 있습니다.
www.acmicpc.net
주의할 점
- A가 1일 때가 문제가 많다.
- 아닌 경우는 그냥 단순히 1을 잘 넣어주면 된다.
예제
4 1 3
3 3 2 1
4 1 1
1 1 1 1
5 1 3
3 1 1 2 1
코드
#include<iostream>
using namespace std;
int N, A, B;
void input(){
cin>>N>>A>>B;
}
void solution(){
if(A + B - 1 > N){
cout<<-1<<'\n';
return;
}
if(A==1&&B!=1)
cout<<B<<" ";
for(int i=0;i<N-A-B+1;++i){
cout<<1<<" ";
}
if(A>=B){
for(int i=1;i<=A;++i){
cout<<i<<" ";
}
for(int i=B-1;i>0;--i){
cout<<i<<" ";
}
}
else{
for(int i=1;i<A;++i){
cout<<i<<" ";
}
for(int i = A==1 && B!=1 ? B-1 : B;i>0;--i){
cout<<i<<" ";
}
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
input();
solution();
return 0;
}

728x90
'알고리즘 > 백준 문제' 카테고리의 다른 글
| 20437 - 문자열 게임 2 (0) | 2023.07.24 |
|---|---|
| 17615 - 볼 모으기 (0) | 2023.07.23 |
| 2531 - 회전 초밥 (0) | 2023.07.22 |
| 22866 - 탑 보기 (0) | 2023.07.21 |
| 2075 - N번째 큰 수 (0) | 2023.07.21 |
댓글