Computer Science/Algorithm Problem

백준] 2947 - 나무 조각(COCI 2008/2009)

TwinParadox 2018. 5. 28. 19:00
728x90

시간 제한 : 1초

메모리 제한 : 128MB




입력

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




출력

두 조각의 순서가 바뀔때 마다 조각의 순서를 출력한다.




소스코드

#include <iostream>
using namespace std;
int main(void)
{
	int arr[5];
	for (int i = 0; i < 5; i++)
		cin >> arr[i];

	for (int i = 0; i < 4; i++)
	{
		for (int j = 0; j < 4 - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int tmp;
				tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
				for (int k = 0; k < 5; k++)
					cout << arr[k] << ' ';
				cout << '\n';
			}
		}
	}
}




Tip

버블정렬에서 스왑이 발생할 때 출력을 해주면 된다. 



728x90