포럼
문제 USACO0684

발굽, 보, 가위 삼중쌍

설명

"가위, 바위, 보" 게임을 들어 본 적이 있을 것이다. 소들은 이와 비슷한 "발굽, 보, 가위"라는 게임을 즐겨 한다.

"발굽, 보, 가위"의 규칙은 간단하다. 두 소가 서로 대결한다. 둘 다 셋을 센 다음, 동시에 발굽, 보, 가위 중 하나를 나타내는 손짓을 한다. 발굽은 가위를 이기고 (발굽이 가위를 부술 수 있으므로), 가위는 보를 이기고 (가위가 종이를 자를 수 있으므로), 보는 발굽을 이긴다 (발굽이 종이에 베일 수 있으므로). 예를 들어, 첫 번째 소가 "발굽"을 내고 두 번째 소가 "보"를 내면 두 번째 소가 이긴다. 물론 두 소가 같은 손짓을 하면 비길 수도 있다.

이제 발굽 보 가위를 하고 싶어 하는 \(N\) (\(3\le N\le 2\cdot 10^5\))마리의 소가 있으며, 각 소는 어떤 고정된 분포에서 독립적으로 손짓을 뽑는 전략을 가지고 있다. 구체적으로, \(i\)번째 소의 전략은 발굽, 보, 가위를 각각 확률 \(\left(\frac{h_i}{h_i+p_i+s_i}, \frac{p_i}{h_i+p_i+s_i}, \frac{s_i}{h_i+p_i+s_i} \right)\)로 내는 것이다.

A가 평균적으로 B를 이기고, B가 평균적으로 C를 이기고, C가 평균적으로 A를 이기는 서로 다른 소의 삼중쌍 (A,B,C)는 몇 개인가? 한 삼중쌍이 다른 삼중쌍의 순환 이동과 같으면 두 삼중쌍을 같은 것으로 간주한다.

Problem credits: Richard Qi

제약

SCORING

  • 입력 2-3: \(N\le 10\)
  • 입력 4-9: \(N \le 7500\), 모든 테스트에 걸친 \(N\)의 합이 \(10^4\)를 넘지 않는다
  • 입력 10-21: 추가 제약 없음.

Problem credits: Richard Qi

입력 형식

첫째 줄에 독립적인 테스트의 수 \(T\) (\(1\le T\le 5\cdot 10^4\))가 주어진다. 각 테스트는 다음 형식으로 주어진다.

첫째 줄에 \(N\)이 주어진다.

다음 \(N\)개의 줄에 각각 음이 아닌 세 정수 \(h_i\), \(p_i\), \(s_i\) (\(0\le h_i,p_i,s_i\le 10^9, h_i+p_i+s_i>0\))가 주어진다.

모든 테스트에 걸친 \(N\)의 합이 일정 한도를 넘지 않음이 보장된다.

출력 형식

삼중쌍의 개수를 출력한다.

참고: 이 문제에 등장하는 정수의 크기가 크므로 64비트 정수 자료형(예: C/C++의 "long long")을 사용해야 할 수 있다.

예제 1
입력
2
4
1 0 0
1 0 0
0 1 0
0 0 1
10
20410069 21445597 257862632
114108992 287498302 113278897
607994331 143503714 631122722
337497016 270153603 320256324
633717786 631078144 493265815
202783212 612643590 560838949
713379081 42803063 58996167
293262767 470686180 220651551
656404313 408797935 345461691
959196297 827681918 591519393
출력
2
32
설명

For the first test, there are two triples: \((1, 3, 4)\) and \((2, 3, 4)\).

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2025-2026 > First Contest > Platinum

태그

평가 및 의견

Hoof, Paper, Scissors Triples

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Hoof, Paper, Scissors Triples

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8