포럼
문제 COCI00027

Tenis

설명

마을을 차지하려는 Borko의 두 번째 계획도 (Mirko의 동생 Stanko가 물을 전부 마셔 버려서) 수포로 돌아간 뒤, 어린 Zvonko는 스포츠로 휴식을 취하기로 했다. 그는 당근 주스와 땅콩을 잔뜩 준비해 두고 소파에 몸을 던져, 텔레비전에서 하는 다음 테니스 경기를 볼 준비를 마쳤다.

두 선수가 몸을 푸는 동안 화면에 선수들의 통계가 떴다. Zvonko는 선수들의 경기 기록에 잘못된 결과가 섞여 있다는 것을 알아차렸다. 그는 기가 막힌 아이디어를 떠올렸다. 여러분이 결과의 유효성을 검사하는 프로그램을 만들어 주면, 그것을 기록 관리자들에게 팔아 여유로운 삶을 즐기겠다는 것이다.

테니스 경기는 세트로 이루어지고, 각 세트는 게임으로 이루어진다. 다음 규칙이 적용된다:

  • 어떤 선수가 게임을 \(6\)번 이상 이기고 상대보다 적어도 두 게임을 더 이기면 그 세트를 이긴다.
  • 또한 첫 번째나 두 번째 세트에서(세 번째 세트는 제외) 결과가 \(6{:}6\)이면, 세트의 승자를 정하기 위해 마지막 게임 하나(타이브레이크 게임)를 치른다.
  • 어느 한 선수가 \(2\)세트를 이기면 경기가 끝난다. 그 선수가 승자이다.

위 규칙대로 경기를 치렀을 때 나올 수 있는 결과라면 그 경기 결과는 유효하다.

또한 선수 중 한 명이 Roger Federer(입력에서 federer로 표시)라면, 그가 세트를 진 결과는 유효할 수 없다(Zvonko는 Federer가 외계에서 왔다는 것을 알고 있다).

두 선수 사이의 모든 경기의 유효성을 검사하는 프로그램을 작성하시오.

제약
입력 형식

입력의 첫째 줄에 두 선수의 이름이 공백 하나로 구분되어 주어진다. 두 이름 모두 영어 알파벳 소문자 최대 20자의 문자열이다. 두 이름은 서로 다르다.

둘째 줄에 두 선수가 치른 경기 수인 정수 \(N\) (\(1 \le N \le 50\))이 주어진다.

다음 \(N\)개의 줄에는 경기 하나의 결과가 주어진다. 결과는 공백 하나로 구분된 여러 세트의 결과로 이루어진다. 각 경기 결과에는 세트가 \(2\)개 이상 \(3\)개 이하 들어 있다.

세트는 \(A{:}B\) 형식으로 주어지며, \(A\)\(B\)는 각 선수가 이긴 게임 수이다. 이 수들은 \(0\) 이상 \(99\) 이하의 정수이다.

출력 형식

각 경기에 대해, 입력에 주어진 순서대로, 결과가 유효하면 da, 유효하지 않으면 ne를 출력한다.

서브태스크
서브태스크점수설명

Subtask 1

40점
예제 1
입력
sampras agassi
6
6:2 6:4
3:6 7:5 2:6
6:5 7:4
7:6 7:6
6:2 3:6
6:2 1:6 6:8
출력
da
da
ne
da
ne
da
예제 2
입력
federer roddick
1
2:6 4:6
출력
ne
문제 정보

riseoj 작성

출처 COCI 2006/2007 Contest 5

평가 및 의견

Tenis

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

Log in to rate problems.

개별 의견

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

풀이 제출

Tenis

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