0부터 9까지의 숫자로 만든 n자리 비밀번호 중 주어진 m개 숫자를 모두 포함하는 것의 개수를 센다.
보통5조합론수학면접 대비아직 제출이 없습니다시간 제한1초메모리 제한64 MB웅찬이는 근성이 대단한 도둑이다. 금고를 털 때 가능한 조합을 하나도 빼놓지 않고 눌러 본다. 비밀번호가 3글자라는 것을 알면 000, 001, 002, 003, ..., 998, 999를 차례로 다 눌러 보는 식이다.
그런데 웅찬이에게는 선견지명이 있어서 비밀번호에 어떤 숫자가 들어가는지 일부 알아낼 수 있다. 3글자 비밀번호에 0이 들어간다는 사실을 알아냈다면 999처럼 0이 하나도 없는 수는 후보에서 빠진다. 000, 012, 030은 그대로 후보로 남는다.
비밀번호의 길이와 선견지명으로 알아낸 숫자가 주어질 때, 가능한 비밀번호가 몇 개인지 세는 프로그램을 작성하시오. 비밀번호는 0부터 9까지의 숫자로만 이루어지고, 맨 앞자리가 0이어도 된다.
첫째 줄에 비밀번호의 길이 n과 선견지명으로 알아낸 숫자의 개수 m이 공백을 사이에 두고 주어진다. (1≤n≤7, 0≤m≤n)
둘째 줄에 알아낸 숫자 m개가 공백으로 구분되어 주어진다. 각 숫자는 0 이상 9 이하이고 서로 다르다. m이 0이면 둘째 줄은 주어지지 않는다.
가능한 비밀번호의 개수를 출력한다.
n이 2이고 알아낸 숫자가 7 하나뿐이면 가능한 비밀번호는 07, 17, 27, 37, 47, 57, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 87, 97로 모두 19개다.
n이 2이고 알아낸 숫자가 3과 4이면 가능한 비밀번호는 34와 43뿐이다.