그날의 너
시간 제한1초메모리 제한512 MB
환경 요인의 측정값과 한 번의 연산으로 정의된 복합 요인이 주어질 때, HAPPY에 대한 각 요인의 편미분 값을 기약분수로 계산해 출력한다.
문제
사람의 기분은 쉽게 예측할 수 없다. 같은 환경에서도 성격과 경험에 따라 반응이 다르고, 하루 종일 울던 사람이 다음 날 웃기도 한다.
인공지능 시스템을 연구하는 서지수 박사는 다음과 같이 가정한다.
"오늘 한 사람의 행복도에 영향을 준 요인들과 요인 사이의 관계를 안다면, 다음 날의 기분도 예측할 수 있다."
기분에 영향을 주는 요인은 환경적 요인과 복합적 요인으로 나뉜다.
환경적 요인은 관찰을 통해 수치로 측정할 수 있는 요인이다. 그날의 기온, 만난 친구의 수, 수면 시간 등이 그 예이다.
복합적 요인은 서로 다른 두 요인의 연산 결과로 정해지는 요인이다. 예를 들어 학습 만족도 가 수업 수 와 피로도 의 합으로 정해지면 와 같이 쓴다. 행복도 역시 하나의 복합적 요인으로 볼 수 있다.
오늘 측정된 환경적 요인의 값과 모든 요인 사이의 관계식을 안다고 하자. 이때 각 요인의 행복도에 대한 영향력을 구하려 한다. 영향력이란 행복도를 각 요인으로 편미분한 값, 즉 순간 변화율이다.
예를 들어 행복도 가 소득 와 근무 만족도 의 곱 로 정해지고, 오늘 측정값이 , 이면 이다. 이때 의 영향력은 , 의 영향력은 이며, 자체의 영향력은 이다.
요인의 종류와 관계식이 주어질 때, 각 요인의 영향력을 계산하는 프로그램을 작성하라.
입력
첫 줄에는 요인의 수 이 주어진다. 다음 줄에는 각 요인의 정보가 한 줄에 하나씩 주어진다.
- 환경적 요인은
{이름} E {측정값}형식으로 주어진다.
- 이름은 길이가 20 이하인 알파벳 대문자 문자열이다.
- 측정값은 절댓값이 20 이하인 정수이다.
- 복합적 요인은
{이름} {연산} {피연산자1} {피연산자2}형식으로 주어진다.
- 이름은 길이가 20 이하인 알파벳 대문자 문자열이며, 행복도의 이름은 항상 이다.
- 두 피연산자는 개의 요인 중 서로 다른 두 요인의 이름이며, 좌항과 우항의 순서대로 주어진다.
- 연산은 (덧셈), (뺄셈), (곱셈), (나눗셈) 중 하나이다.
모든 입력은 다음을 만족한다.
- 모든 요인의 연산 결과와 영향력은 유리수이며, 기약분수로 나타냈을 때 분모는 억 이하의 자연수이고 분자는 절댓값이 억 이하인 정수이다.
- 복합적 요인이 자기 자신을 피연산자로 삼거나, 계산 과정에서 자기 자신을 순환 참조하지 않는다.
- 하나의 요인이 두 개 이상의 복합적 요인의 피연산자로 등장하지 않는다.
출력
요인의 이름을 사전순으로 정렬하여 총 줄을 출력한다. 각 줄은 {이름} {영향력} 형식이다.
- 영향력은 기약분수 형태로 출력한다. 예를 들어 의 영향력이 이면
MONEY -1/4와 같이 출력한다. - 행복도에 전혀 영향을 주지 않는 요인의 영향력은 이며,
0/1과 같이 출력한다.
힌트
두 번째와 세 번째 공개 테스트 케이스는 작은 하위 과제에서는 등장하지 않는다.