Geopeitus
시간 제한1초메모리 제한1024 MB
각 변수의 값 목록을 펼친 뒤 모든 조합을 좌표 식에 대입하고, 정해진 자릿수 순서대로 결과 좌표를 출력한다.
문제
지오캐싱(보물찾기) 게임에서는 보물의 좌표를 때때로 수식 형태로 제공하는데, 이때 일부 숫자가 문자로 치환되어 있습니다. 예를 들어 N58 24.1ab E26 44.3c 와 같습니다.
주어진 수식과 변수들이 가질 수 있는 값에 대응하는 모든 좌표를 출력하는 프로그램을 작성하세요.
입력
첫째 줄에는 수식이 주어집니다. 수식은 위도 표현과 경도 표현으로 이루어지며, 각 표현은 방위 문자(N, S, E, W)와 도·분·분의 소수부 값으로 구성됩니다. 수식의 길이는 25자를 넘지 않습니다.
둘째 줄에는 변수의 개수 ()이 주어지고, 이어지는 개의 줄에는 각각 변수 하나의 정의가 주어집니다. 각 정의는 변수 이름, 등호(=), 그리고 쉼표로 구분된 목록으로 이루어집니다. 목록의 각 원소는 단일 값이거나 값의 범위입니다. 범위는 아래끝..위끝 형식으로 쓰며 양 끝을 포함합니다(예: 2..4 는 2, 3, 4). 변수 이름은 항상 하나의 소문자 라틴 문자입니다. 값과 범위의 끝점은 한 자리 또는 두 자리 정수일 수 있습니다. 어떤 변수의 정의도 중복된 값을 만들지 않는다고 가정할 수 있습니다.
수식 안에 나타나는 각 변수 문자는 선택된 값의 십진 표기로 그대로 치환됩니다. 따라서 두 자리 값은 두 글자를 삽입합니다.
출력
변수들을 허용된 값으로 치환하여 얻을 수 있는 모든 좌표를 각각 한 줄에 출력합니다.
채점은 출력을 정확히 문자 단위로 비교하므로, 좌표는 다음의 확정된 순서로 출력해야 합니다. 입력에 등장한 순서대로 변수를 이라 할 때, 첫 번째 변수 이 가장 빠르게(줄마다) 바뀌고 마지막 변수 이 가장 느리게 바뀌도록 모든 조합을 나열합니다. 즉 을 가장 바깥쪽 반복문, 을 가장 안쪽 반복문으로 두고 순회합니다. 한 변수 안에서는 나열된 순서대로(각 범위는 아래끝에서 위끝까지 오름차순으로 전개하여) 값을 취합니다.