티스토리 뷰

프로그래밍/알고리즘

이전순열 다음순열

터프 프로그래머 2011. 2. 25. 23:29


#include <iostream>
#include <algorithm>
using namespace std;
void main()
{
 int a[3] = {1, 2, 3};
 int i;
 
 for(i=0; i<3; i++)
  printf("%d ", a[i]);
 printf("\n\n");
 
 // 다음 순열 만들기
 next_permutation(a, a+3); 
 for (i=0; i<3; i++)
  printf("%d ", a[i]);
 printf("\n\n");
 
 // 이전 순열 만들기
 prev_permutation(a, a+3);
 for(i=0; i<3; i++)
  printf("%d ", a[i]);
 printf("\n\n");
 
 // 다음 순열을 만들 수 있는 동안 계속 다음 순열 출력하기
 while(next_permutation(a, a+3))
 {
  for(i=0; i<3; i++)
   printf("%d ", a[i]);
  printf("\n");
 }
 printf("\n\n");
 
 // 이전 순열을 만들 수 있는 동안 계속 이전 순열 출력하기
 while(prev_permutation(a, a+3))
 {
  for(i=0; i<3; i++)
   printf("%d ", a[i]);
  printf("\n");
 }
}

소스에 대한 설명은 역시 주석에 달려 있음~
next_permutation은 다음순열을 만들어주는거고(영어를 보면 알 수 있음. )
prev_permutation은 이전순열을 만들어주는거임

'프로그래밍 > 알고리즘' 카테고리의 다른 글

부저모으기  (0) 2011.02.25
구조체 정렬  (0) 2011.02.25
막대자르기  (0) 2011.02.25
떡 먹는 호랑이 - 다이나믹 프로그래밍  (0) 2011.02.25
가족 찾기  (0) 2011.02.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday