본문 바로가기
알고리즘/백준 문제

24337 - 가희와 탑

by HDobby 2023. 7. 22.

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

댓글