순열

컴퓨터 이야기/C++ 2011. 1. 7. 22:05
vector<int> v;
vector<char> select;
void back(int order)
{
 if(select.size() == v.size())
 {
  for(int i=0; i<select.size(); i++)
  {
    cout << v[select[i]] << ", ";
  }
  cout << endl;
 }
 else
 {
  for(int i=0; i<v.size(); i++)
  {
   if(find(select.begin(), select.end(), i) == select.end())
   {
    select.push_back(i);
    back(i);
    select.pop_back();
   }
  }
 }
}
int main()
{
 int arr[] = {1,2,3};
 v.assign(arr, arr+3);

 back(-1);
 return 0;
}


'컴퓨터 이야기 > C++' 카테고리의 다른 글

Queue  (0) 2011.01.08
Little Bishops  (0) 2011.01.08
부분집합  (0) 2011.01.07
soccer UVA  (0) 2011.01.07
Bridge  (0) 2011.01.05
: