알고리즘 12

[알고리즘] 완전탐색(PICNIC)

algospot.com :: PICNIC 소풍 문제 정보 문제 안드로메다 유치원 익스프레스반에서는 다음 주에 율동공원으로 소풍을 갑니다. 원석 선생님은 소풍 때 학생들을 두 명씩 짝을 지어 행동하게 하려고 합니다. 그런데 서로 www.algospot.com #include #include using namespace std; queue answer; // matrix에 친구 관계, paired에 친구가 있는지 여부 저장 int matrix[10][10]; int paired[10]; int student_num, pair_num; int makePair() { // 짝이 없는 학생이 있다면 idx에 저장하고, 모두 짝이 있다면 1을 반환 int idx = -1; for (int i = 0; i < stu..

[알고리즘] 무식하게 풀기(Brute-Force)

의 해당 단원 밑줄입니다. "공부를 열심히 할수록 복잡하지만 우아한 답안을 만들고 싶은 마음이 커지기 마련이고, 그래서 바로 앞에 보이는 쉽고 간단하며 틀릴 가능성이 낮은 답안을 간과하기 쉽습니다." "컴퓨터의 최대 장점은 결국 속도가 빠르다는 것이니까요. 특히 현실 세계의 문제 중에는 입력의 크기가 작아 컴퓨터가 처리하기에는 별 것 아니지만, 손으로 직접 풀기에는 경우의 수가 너무 많은 경우가 종종 있는데, 이럴 때 완전탐색(가능한 방법을 전부 만들어 보는 알고리즘)은 충분히 빠르면서도 가장 구현하기 쉬운 대안이 됩니다." "우리가 들여다 보는 범위가 작아지면 작아질수록 각 조각들의 형태가 유사해지는 작업들을 많이 볼 수 있습니다. 이런 작업을 구현할 때 유용하게 사용되는 개념이 바로 재귀 호출입니다...