포럼
문제 USACO0509

블록

설명

어휘력을 기르기 위해, 소 베시는 나무 블록 네 개로 이루어진 세트를 구했다. 각 블록은 여섯 면마다 알파벳 글자가 하나씩 적힌 정육면체이다. 베시는 블록들을 일렬로 배열하여 블록 윗면의 글자들이 단어를 이루도록 하면서 철자를 배우고 있다.

베시의 네 블록 각각에 적힌 글자들과 그녀가 만들고 싶은 단어 목록이 주어질 때, 목록의 단어 중 어떤 것들을 블록으로 성공적으로 만들 수 있는지 판별하시오.

출제자: Brian Dean

제약

출제자: Brian Dean

입력 형식

첫째 줄에 베시가 만들고 싶은 단어의 수 \(N\) (\(1\le N\le 10\))이 주어진다. 다음 네 줄에는 각각 대문자 여섯 개로 이루어진 문자열이 주어지며, 이는 베시의 블록 하나의 여섯 면에 적힌 글자들을 나타낸다. 다음 \(N\)개의 줄에 베시가 만들고 싶은 \(N\)개의 단어가 주어진다. 각 단어는 1글자 이상 4글자 이하의 대문자로 이루어져 있다.

출력 형식

베시의 목록에 있는 각 단어에 대해, 블록으로 만들 수 있으면 YES, 그렇지 않으면 NO를 출력한다.

예제 1
입력
6
MOOOOO
OOOOOO
ABCDEF
UVWXYZ
COW
MOO
ZOO
MOVE
CODE
FARM
출력
YES
NO
YES
YES
NO
NO
설명

In this example, Bessie can spell COW, ZOO, and MOVE. Sadly, she cannot spell
MOO, since the only block with an M cannot also be used for an O. She cannot
spell FARM since there is no block with a letter R. She cannot spell CODE
since the C, D, and E all belong to the same block.

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2021-2022 > February > Bronze

태그

평가 및 의견

Blocks

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

Log in to rate problems.

개별 의견

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

풀이 제출

Blocks

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