[C++] 순열, 조합, 부분 집합
순열과 조합 - N개 중 M개를 뽑는 Case {1, 2, 3, 4, 5} 중 3개를 뽑는 Case에 대해 알아보자 순열 순서에 상관이 있고 중복을 허용하지 않고 나올 수 있는 모든 수열 #include #include #include #include using namespace std; int arr[5] = { 1, 2, 3, 4, 5 }; bool check[5]; // 중복된 값을 선택하지 않기 위한 배열 int temp[3]; // 5개 중 3개를 뽑은 순열 void dfs(int x) { if (x >= 3) { for (int i = 0; i < 3; i++) { cout
[C++][백준] 텀 프로젝트 (9466) - 스택
문제 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 수도 있다. 프로젝트 팀을 구성하기 위해, 모든 학생들은 프로젝트를 함께하고 싶은 학생을 선택해야 한다. (단, 단 한 명만 선택할 수 있다.) 혼자 하고 싶어하는 학생은 자기 자신을 선택하는 것도 가능하다. 학생들이(s1, s2, ..., sr)이라 할 때, r=1이고 s1이 s1을 선택하는 경우나, s1이 s2를 선택하고, s2가 s3를 선택하고,..., sr-1이 sr을 선택하고, sr이 s1을 선택하는 경우에만 한 팀이 될 수 있다. 예를 들어, 한 반에 7명의 학생이 있다고 하자. 학생들을 1번부터 7번으..