3면 주사위

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

요약
목표로 하는 3면 주사위의 확률 벡터가 주어진 세 주사위 확률 벡터의 양의 가중 조합(내부 포함)으로 표현 가능한지 판별합니다.
난이도

보통10점 중 5점

유형
기하, 수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

매년 가을이면 남서유럽 주사위 시뮬레이션 대회(Southwestern Europe Dice Simulation Contest)의 주최 측은 다시 바빠진다. 올해 과제는, 주어진 세 개의 주사위를 이용해 세 가지 결과 — 11, 22, 33으로 표기한다 — 를 각각 정해진 확률로 내놓는 3면 주사위를 시뮬레이션하는 것이다. 시뮬레이션 방법은 다음과 같다. 주어진 세 주사위 중 하나를 무작위로 골라 굴린 뒤 그 결과를 보고한다. 각 주사위를 고를 확률은 자유롭게 정할 수 있으나, 세 확률 모두 반드시 00보다 커야 한다. 주최 측은 자료를 나눠 주기 전에 이 과제가 실제로 해결 가능한지 확인해야 한다.

예를 들어 결과 11, 22, 33을 각각 확률 3/103/10, 4/104/10, 3/103/10으로 내놓는 주사위를 시뮬레이션해야 하고, 주어진 세 주사위 중 ii번째 주사위는 항상 결과 ii를 낸다고 하자. 그러면 첫 번째 주사위를 확률 3/103/10, 두 번째를 4/104/10, 세 번째를 3/103/10으로 고르면 목표 주사위를 그대로 재현할 수 있다.

입력

입력은 여러 개의 테스트 케이스로 이루어지며, 각 테스트 케이스는 한 개의 빈 줄로 구분된다. 각 테스트 케이스는 네 줄로 이루어진다. 앞의 세 줄은 주어진 세 주사위를, 마지막 줄은 시뮬레이션해야 하는 주사위를 나타낸다. 네 줄 각각에는 00 이상 1000010000 이하의 정수 세 개가 공백으로 구분되어 주어진다. 한 줄의 세 수는 합이 1000010000이며, 그 줄이 나타내는 주사위가 결과 11, 22, 33을 낼 확률에 각각 1000010000을 곱한 값이다.

입력은 00이 세 번 적힌 줄로 끝나며, 이 줄 앞에도 빈 줄이 하나 있다.

출력

각 테스트 케이스마다, 주어진 주사위들로 원하는 주사위를 만들 수 있으면 YES를, 그렇지 않으면 NO를 한 줄에 출력한다.

예제3

  1. 예제 1

    입력
    0 0 10000
    0 10000 0
    10000 0 0
    3000 4000 3000
    
    0 0 10000
    0 10000 0
    3000 4000 3000
    10000 0 0
    
    0 0 0
    
    예상 출력
    YES
    NO
    
  2. 예제 2

    입력
    10000 0 0
    0 10000 0
    0 0 10000
    10000 0 0
    
    0 0 0
    
    예상 출력
    NO
    
  3. 예제 3

    입력
    10000 0 0
    0 10000 0
    0 0 10000
    4000 3000 3000
    
    0 0 0
    
    예상 출력
    YES