충분히 가까운 계산

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

요약
인쇄된 지방, 탄수화물, 단백질 그램이 반올림 전 실제량에서 나올 수 있고 그 열량 합이 표시된 칼로리로 반올림되는지 판정한다.
난이도

쉬움10점 중 3점

유형
수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

영양성분표 예시

영양성분표는 어디서나 볼 수 있으며, 예시가 위에 나와 있습니다. 성분표에는 열량(칼로리)과 지방, 탄수화물, 단백질의 양(그램)이 모두 정수로 표시됩니다.

성분표를 꼼꼼히 읽으면 겉보기에 맞지 않는 부분을 발견할 수 있습니다. 지방 11그램은 99칼로리, 탄수화물 11그램은 44칼로리, 단백질 11그램은 44칼로리를 냅니다. 위 예시를 그대로 계산하면 12×9+31×4+5×4=25212 \times 9 + 31 \times 4 + 5 \times 4 = 252칼로리가 되지만, 표에는 250250칼로리라고 적혀 있습니다.

이런 차이는 다른 요인(예: 알코올이나 수용성 식이섬유) 때문일 수도 있지만, 이 문제에서는 오직 반올림 오차만 고려합니다. 이 식품은 실제로 지방 12.112.1그램(108.9108.9칼로리), 탄수화물 30.630.6그램(122.4122.4칼로리), 단백질 4.74.7그램(18.818.8칼로리)을 담고 있어 실제 총 열량은 250.1250.1칼로리이며, 이는 표시된 250250칼로리로 반올림됩니다.

영양성분표의 값들이 서로 일관되는지 판단하는 프로그램을 작성하세요. 즉, 표시된 그램 값으로 반올림되는 실제 영양소 양이 존재하고, 그 실제 양으로 계산한 총 열량이 표시된 열량으로 반올림되는지를 판단합니다.

반올림은 표준 규칙을 따릅니다. 0.50.5 미만은 내림하고, 0.50.5 이상은 올림합니다. 영양소의 실제 양은 음수가 될 수 없으므로, 표시된 값이 00그램이면 실제 양은 [0,0.5)[0, 0.5) 구간에 있습니다.

입력

입력은 하나 이상의 데이터 집합으로 이루어지며, 각 집합은 한 줄에 주어집니다. 각 데이터 집합은 하나 이상의 공백으로 구분된 음이 아닌 정수 44개로 이루어지며, 순서대로 열량, 지방의 그램 수, 탄수화물의 그램 수, 단백질의 그램 수입니다. 열량은 최대 1000010000이고, 각 성분의 그램 수는 최대 10001000입니다.

입력의 끝은 네 개의 00으로 이루어진 줄로 표시하며, 이 줄은 처리하지 않습니다.

출력

각 데이터 집합에 대해, 표시된 세 영양소의 그램 값으로 표시된 열량을 만들 수 있는지를 나타내는 yes 또는 no를 한 줄에 하나씩 출력합니다.

예제2

  1. 예제 1

    입력
    250 12 31 5
    250 13 31 5
    122 10 10 0
    0 0 0 0
    
    예상 출력
    yes
    no
    no
    
  2. 예제 2

    입력
    98 10 0 0
    99 10 0 0
    0 0 0 0
    
    예상 출력
    yes
    no