아인슈타인의 퍼즐을 푸는 프로그램

이 프로그램은 다음 문제를 백트래킹으로 푸는 프로그램입니다.

5개의 집이 일렬로 늘어서 있다. 각 집은 서로 색깔이 모두 다르며, 서로 다른 국적을 가진 사람이 살고 있다. 이 사람들은 서로 다른 음료수를 마시며, 서로 다른 담배를 피우며, 제각기 다른 애완동물을 키우고 있다. 조건이 다음과 같을 때 금붕어를 기르는 사람은 어느 나라 사람인가?

  1. 영국인은 빨간색 집에 산다.
  2. 스웨덴 사람은 개를 키운다.
  3. 덴마크 사람은 홍차를 마신다.
  4. 녹색집은 흰색집 왼쪽에 있다.
  5. 녹색집 사람은 커피를 마신다.
  6. 폴몰 담배를 피우는 사람은 새를 키운다.
  7. 노란색 집 사람은 던힐 담배를 피운다.
  8. 한가운데 사람은 우유를 마신다.
  9. 노르웨이인은 첫 번째 집에 산다.
  10. 블랜드 담배를 피우는 사람은 고양이 키우는 사람 옆집에 산다.
  11. 말을 키우는 사람은 던힐 담배를 피우는 사람 옆집에 산다.
  12. 블루 매스터 담배를 피우는 사람은 맥주를 마신다.
  13. 독일인은 프린스 담배를 피운다.
  14. 노르웨이인은 파란색 집 옆집에 산다.
  15. 블랜드 담배를 피우는 사람은 물 마시는 사람 옆집에 산다.

이 프로그램은 고정된 답만을 출력하기 때문에 컴파일된 실행 파일은 별도로 제공하지 않습니다.

소스 코드 받기 (einstein.c, 4K)


실행 결과

German

(금붕어를 키우는 사람은 독일 사람입니다.)