만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

그날의 너

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

요약
환경 요인의 측정값과 한 번의 연산으로 정의된 복합 요인이 주어질 때, HAPPY에 대한 각 요인의 편미분 값을 기약분수로 계산해 출력한다.
난이도

보통10점 중 6점

유형
동적 계획법, DFS, 수학, 재귀
정답자
아직 제출이 없습니다

문제

사람의 기분은 쉽게 예측할 수 없다. 같은 환경에서도 성격과 경험에 따라 반응이 다르고, 하루 종일 울던 사람이 다음 날 웃기도 한다.

인공지능 시스템을 연구하는 서지수 박사는 다음과 같이 가정한다.

"오늘 한 사람의 행복도에 영향을 준 요인들과 요인 사이의 관계를 안다면, 다음 날의 기분도 예측할 수 있다."

기분에 영향을 주는 요인은 환경적 요인과 복합적 요인으로 나뉜다.

환경적 요인은 관찰을 통해 수치로 측정할 수 있는 요인이다. 그날의 기온, 만난 친구의 수, 수면 시간 등이 그 예이다.

복합적 요인은 서로 다른 두 요인의 연산 결과로 정해지는 요인이다. 예를 들어 학습 만족도 AA가 수업 수 BB와 피로도 CC의 합으로 정해지면 A=B+CA = B + C와 같이 쓴다. 행복도 역시 하나의 복합적 요인으로 볼 수 있다.

오늘 측정된 환경적 요인의 값과 모든 요인 사이의 관계식을 안다고 하자. 이때 각 요인의 행복도에 대한 영향력을 구하려 한다. 영향력이란 행복도를 각 요인으로 편미분한 값, 즉 순간 변화율이다.

예를 들어 행복도 HAPPYHAPPY가 소득 AA와 근무 만족도 BB의 곱 HAPPY=A×BHAPPY = A \times B로 정해지고, 오늘 측정값이 A=17A = 17, B=13B = 13이면 HAPPY=221HAPPY = 221이다. 이때 AA의 영향력은 1313, BB의 영향력은 1717이며, HAPPYHAPPY 자체의 영향력은 11이다.

요인의 종류와 관계식이 주어질 때, 각 요인의 영향력을 계산하는 프로그램을 작성하라.

입력

첫 줄에는 요인의 수 NN이 주어진다. 다음 NN줄에는 각 요인의 정보가 한 줄에 하나씩 주어진다.

  1. 환경적 요인은 {이름} E {측정값} 형식으로 주어진다.
  • 이름은 길이가 20 이하인 알파벳 대문자 문자열이다.
  • 측정값은 절댓값이 20 이하인 정수이다.
  1. 복합적 요인은 {이름} {연산} {피연산자1} {피연산자2} 형식으로 주어진다.
  • 이름은 길이가 20 이하인 알파벳 대문자 문자열이며, 행복도의 이름은 항상 HAPPYHAPPY이다.
  • 두 피연산자는 NN개의 요인 중 서로 다른 두 요인의 이름이며, 좌항과 우항의 순서대로 주어진다.
  • 연산은 AA(덧셈), SS(뺄셈), MM(곱셈), DD(나눗셈) 중 하나이다.

모든 입력은 다음을 만족한다.

  • 모든 요인의 연산 결과와 영향력은 유리수이며, 기약분수로 나타냈을 때 분모는 11억 이하의 자연수이고 분자는 절댓값이 1010억 이하인 정수이다.
  • 복합적 요인이 자기 자신을 피연산자로 삼거나, 계산 과정에서 자기 자신을 순환 참조하지 않는다.
  • 하나의 요인이 두 개 이상의 복합적 요인의 피연산자로 등장하지 않는다.

출력

요인의 이름을 사전순으로 정렬하여 총 NN줄을 출력한다. 각 줄은 {이름} {영향력} 형식이다.

  • 영향력은 기약분수 형태로 출력한다. 예를 들어 MONEYMONEY의 영향력이 −0.25-0.25이면 MONEY -1/4와 같이 출력한다.
  • 행복도에 전혀 영향을 주지 않는 요인의 영향력은 00이며, 0/1과 같이 출력한다.

힌트

두 번째와 세 번째 공개 테스트 케이스는 작은 하위 과제에서는 등장하지 않는다.

예제3

  1. 예제 1

    입력
    3
    A E 17
    B E 13
    HAPPY M A B
    
    예상 출력
    A 13/1
    B 17/1
    HAPPY 1/1
    
  2. 예제 2

    입력
    7
    MONEY E 17
    HAPPY M MONEY QUALITY
    QUALITY M POWER GIRLFRIEND
    GIRLFRIEND E 1
    POWER S HEALTH SICK
    HEALTH E 10
    SICK E 2
    
    예상 출력
    GIRLFRIEND 136/1
    HAPPY 1/1
    HEALTH 17/1
    MONEY 8/1
    POWER 17/1
    QUALITY 17/1
    SICK -17/1
    
  3. 예제 3

    입력
    9
    HAPPY S MONEY SICK
    MONEY E 18
    SICK D PAIN HEALTH
    PAIN E 1
    HEALTH A MIND BODY
    MIND D LOVE SAD
    BODY E -3
    LOVE E 17
    SAD E 5
    
    예상 출력
    BODY 25/4
    HAPPY 1/1
    HEALTH 25/4
    LOVE 5/4
    MIND 25/4
    MONEY 1/1
    PAIN -5/2
    SAD -17/4
    SICK -1/1