아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

스프레드시트

면접 대비

시간 제한1초메모리 제한128 MB

요약
수식 셀을 다른 셀들의 합으로 보고 각 셀의 값을 계산하며, 의존 관계에 순환이 있는 셀은 정의되지 않은 것으로 표시한다.
난이도

보통10점 중 5점

유형
그래프, DFS, 위상 정렬, 시뮬레이션
정답자
아직 제출이 없습니다

문제

스프레드시트는 직사각형 격자에 놓인 여러 개의 "칸(cell)"으로 이루어진다. 각 칸의 주소는 행을 나타내는 AA부터 JJ까지의 문자 하나와, 열을 나타내는 11부터 99까지의 숫자 하나로 표기한다. 따라서 왼쪽 위 칸은 A1A1, 오른쪽 아래 칸은 J9J9이다.

모든 칸은 값을 가지며, 그 값은 다음 두 가지 방법 중 하나로 지정된다.

  1. 00 이상 10001000 이하의 정수
  2. 다른 칸 최대 1010개의 값의 합

칸의 값은 서로 의존할 수 있다(예를 들어 A1A1의 합이 B6B6에 의존하고, B6B6이 다시 C9C9에 의존할 수 있다). 그러나 어떤 칸의 값이 직접 또는 간접적으로 자기 자신에 의존하면 그 칸의 값은 정의되지 않는다(예: A1A1이 G8G8에 의존하고 G8G8이 다시 A1A1에 의존하는 경우). 또한 정의되지 않은 칸에 의존하는 칸의 값도 정의되지 않는다. 모든 칸의 명세가 주어질 때, 각 칸의 값을 계산하여 출력하라.

입력

입력은 1010개의 줄로 이루어지며, 각 줄은 스프레드시트의 한 행에 해당한다. 각 줄에는 칸에 대한 99개의 명세가 주어지는데, 각 명세는 00 이상 1 0001\,000 이하의 정수이거나, + 기호로 구분된 서로 다른 칸 이름 11개에서 1010개까지의 합이다(예: A1+B5+D3).

출력

1010개의 줄에 걸쳐 한 줄에 99개의 숫자를 출력하여 모든 칸의 값을 나타내라. 어떤 칸이 정의되지 않았다면 그 값 대신 별표(*)를 출력한다. 어떤 칸의 최종 값도 1 000 000 0001\,000\,000\,000을 넘지 않는다.

예제1

  1. 예제 1

    입력
    1 2 3 A1+A2+A3 A3+A4 A1+A4+A5 A8+A9 A9 A8
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    
    예상 출력
    1 2 3 6 9 16 * * *
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0