수학 숙제
시간 제한1초메모리 제한128 MB
앞자리 0을 허용한 N자리 수 중 1부터 6까지 각 수로 나누어떨어지는지 여부가 주어진 조건과 일치하는 개수를 1,000,000,007로 나눈 나머지를 구합니다.
문제
동일이는 어려운 수학 숙제를 받았다. 기한이 내일까지라 시간이 얼마 없다.
숙제는 나눗셈 연습이다. 작은 수로 자리 수를 나누는 과정을 익히는 것이 목표다. 여기서 자리 수는 0으로 시작해도 된다. 앞에 0이 몇 개 붙어 있어도 자리 수로 센다.
숙제의 물음은 모두 다음 형태다.
2자리 정수 중에서 6으로 나누어떨어지고 5로는 나누어떨어지지 않는 수는 몇 개인가?
이 물음의 답은 06, 12, 18, 24, 36, 42, 48, 54, 66, 72, 78, 84, 96이므로 13개다.
0은 모든 양의 정수로 나누어떨어진다는 점에 유의한다.
조건을 만족하는 수가 너무 많아 하나씩 적기는 어렵다고 본 동일이는 개수만 구하기로 했다.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다. ()
이어지는 개의 줄에 각각 정수 과 길이 6인 문자열이 공백으로 구분되어 주어진다.
은 세려는 수가 자리임을 뜻한다. ()
문자열은 0, 1, 2로만 이루어져 있다. 번째 글자가 0이면 그 수는 로 나누어떨어지지 않아야 하고, 1이면 로 나누어떨어져야 하며, 2이면 로 나누어떨어지는지는 상관없다. ()
출력
각 테스트 케이스마다 조건을 만족하는 자리 수의 개수를 1,000,000,007로 나눈 나머지를 한 줄에 출력한다.