https://www.acmicpc.net/problem/2947

 

2947번: 나무 조각

첫째 줄에 조각에 쓰여 있는 수가 순서대로 주어진다. 숫자는 1보다 크거나 같고, 5보다 작거나 같으며, 중복되지 않는다. 처음 순서는 1, 2, 3, 4, 5가 아니다.

www.acmicpc.net

 

 

[난이도] Silver5
[유형] 구현

[풀이]
문제의 조건대로 구현해주면 됩니다.

 

#include <cstdio>
int a[5];
void prt(){
    for(int i=0;i<5;i++) printf("%d ",a[i]);
    puts("");
}
bool cmp(int i,int j){
    if(a[i]>a[j]){
        int tmp=a[i];
        a[i]=a[j];
        a[j]=tmp;
        return true;
    }
    return false;
}
int main(){
    for(int i=0;i<5;i++) scanf("%d",&a[i]);
    while(1){
        bool ok=0;
        for(int i=0;i<4;i++){
            if(cmp(i,i+1)) {
                ok=1;
                prt();
            }
        }
        if(!ok) break;
    }
}


https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Silver5/2947.cpp

+ Recent posts