스프레드시트
면접 대비시간 제한1초메모리 제한128 MB
수식 셀을 다른 셀들의 합으로 보고 각 셀의 값을 계산하며, 의존 관계에 순환이 있는 셀은 정의되지 않은 것으로 표시한다.
문제
스프레드시트는 직사각형 격자에 놓인 여러 개의 "칸(cell)"으로 이루어진다. 각 칸의 주소는 행을 나타내는 부터 까지의 문자 하나와, 열을 나타내는 부터 까지의 숫자 하나로 표기한다. 따라서 왼쪽 위 칸은 , 오른쪽 아래 칸은 이다.
모든 칸은 값을 가지며, 그 값은 다음 두 가지 방법 중 하나로 지정된다.
- 이상 이하의 정수
- 다른 칸 최대 개의 값의 합
칸의 값은 서로 의존할 수 있다(예를 들어 의 합이 에 의존하고, 이 다시 에 의존할 수 있다). 그러나 어떤 칸의 값이 직접 또는 간접적으로 자기 자신에 의존하면 그 칸의 값은 정의되지 않는다(예: 이 에 의존하고 이 다시 에 의존하는 경우). 또한 정의되지 않은 칸에 의존하는 칸의 값도 정의되지 않는다. 모든 칸의 명세가 주어질 때, 각 칸의 값을 계산하여 출력하라.
입력
입력은 개의 줄로 이루어지며, 각 줄은 스프레드시트의 한 행에 해당한다. 각 줄에는 칸에 대한 개의 명세가 주어지는데, 각 명세는 이상 이하의 정수이거나, + 기호로 구분된 서로 다른 칸 이름 개에서 개까지의 합이다(예: A1+B5+D3).
출력
개의 줄에 걸쳐 한 줄에 개의 숫자를 출력하여 모든 칸의 값을 나타내라. 어떤 칸이 정의되지 않았다면 그 값 대신 별표(*)를 출력한다. 어떤 칸의 최종 값도 을 넘지 않는다.