Logo
(追記) (追記ここまで)

32362번 - 훈련병의 편지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 1024 MB143241215.000%

문제

이제 다시 시작이다...

젊은 날의 꿈이여...

대학 졸업을 앞둔 전남대의 고학번 근성도 어느덧 훈련소에 갈 시기가 되었다.

훈련소에 입소한 첫날 밤. 대학 생활을 되돌아보며 고마운 사람이 많았다는 것을 깨닫게 된 근성은 고마운 사람들의 이름이 담긴 편지를 적기로 마음먹었다. 근성이 입소할 당시에는 훈련병이 스마트폰을 사용해 연락할 수 있었지만, 그 방식으로는 고마움이 담기지 않는다고 생각한 근성은 열심히 손 편지를 적기 시작하였다.

너무나 소중한 시현이, 항상 고마운 종현이, 언제나 응원하는 지인이 등등 총 $K$명의 이름이 여기저기 촘촘히 적혀있는, 감성 한 스푼, 고마움 두 스푼이 담긴 편지를 다 적은 후 근성은 편지의 발송을 요청하였지만, 편지 담당자의 실수로 편지의 일부 몇 장이 누락되고 말았다!

근성은 이 소식을 듣고 서둘러 스마트폰을 이용해 $M$장의 편지지가 누락되었다는 것을 확인하였으나, 스마트폰 사용 시간이 끝나 몇 번째 편지지가 누락되었는지 알 수 없게 되었다.

편지지가 누락되었기에 근성은 내용의 전달은 포기하고 대상의 이름이 편지에 등장하면 고마움이 전달된 것으로 생각하기로 하였다.

편지에 대상의 이름이 등장하는 것은 다음과 같은 경우를 이야기한다.

  • 편지지 하나에 이름이 온전하게 있다면 등장하는 것이다.
    • 1ドル$번 편지지 : '박종현'이 내용에 들어있다.
    • 1ドル$번 편지지에 '박종현'이 있기에 종현은 편지에 등장한다.
  • 연속된 여러 장의 편지지에 이름이 걸쳐 있다면 등장하는 것이다.
    • 1ドル$번 편지지 : '박'으로 편지 내용이 끝난다.
    • 2ドル$번 편지지 : '종현'으로 편지 내용이 시작한다.
    • 1ドル$번 편지지와 2ドル$번 편지지는 연속되어 있고, 연속된 두 편지지에 '박종현'이 걸쳐 있기에 종현은 편지에 등장한다.
  • 만약 일부 편지지가 누락되어서 연속하게 된 편지지에 이름이 걸쳐 있다면 등장하는 것이다.
    • 1ドル$번 편지지 : '박'으로 편지 내용이 끝난다.
    • 2ドル$번 편지지 : 상관없는 내용이 적혀있다.
    • 3ドル$번 편지지 : '종현'으로 편지 내용이 시작한다.
    • 이때 만약 2ドル$번 편지지가 누락되면 1ドル$번 편지지와 3ドル$번 편지지가 연속되게 되고, 연속된 두 편지지에 '박종현'이 걸쳐 있기에 종현은 편지에 등장한다.

아쉬워하던 근성은 문득, $N$장의 편지지중 어떠한 $M$장의 편지지가 누락되더라도 항상 고마움이 전달될 사람이 누구인지 궁금해졌다.

5일 뒤에 스마트폰을 받을 근성 대신 근성이 고마움을 전하고자 했던 사람 $K$명 각자에게 항상 고마움이 전달되는지 구해보자.

입력

첫 번째 줄에 근성이 적은 편지의 장수 $N$이 주어진다.

두 번째 줄에 실수로 누락된 편지의 장수 $M$이 주어진다.

세 번째 줄부터 $N$개 줄에 걸쳐 편지지의 내용 $s_1 , ... , s_N$이 주어진다.

편지의 내용은 알파벳 소문자와 .(온점) 으로 이루어져 있다.

$N + 3$번째 줄에 근성이 감사를 표하고 싶어 하는 사람들의 수 $K$가 주어진다.

$N + 4$번째 줄부터 이후 $K$개 줄에 걸쳐 근성이 고마움을 전달하고자 하는 사람들의 이름 $k_1, ... , k_K$이 주어진다.

사람들의 이름은 알파벳 소문자로 이루어져 있고, 서로 중복되지 않는다.

출력

첫 번째 줄에 근성이 고마움을 전달하고자 했던 사람 중 몇 명에게 항상 고마움이 전달되는지 출력한다.

이어서 $K$개 줄에 거쳐 입력으로 주어진 이름 순서대로 해당 이름을 가진 사람에게 항상 고마움이 전달된다면 Yes, 아니라면 No를 출력한다.

제한

  • 2ドル \le N \le 450$
  • 1ドル \le M \le N - 1$
  • 2ドル \le | s_1| , ... , | s_N| \le 450$
  • 1ドル \le K \le 450 $
  • 1ドル \le | k_1| , ... , | k_K| \le \min({| s_1| , ... , | s_N|})$
  • 입력으로 주어지는 모든 수는 정수이다.

예제 입력 1

3
1
su..junghwan..mingyu..young
do..junghwan..yunsu..min
gyu..junghwan..yun
4
yunsu
youngdo
mingyu
junghwan

예제 출력 1

2
No
No
Yes
Yes

정환은 3ドル$개의 편지지 모두에 정확하게 이름이 등장한다.

윤수는 1ドル$번 또는 3ドル$번 편지지가 누락되면 이름이 정확하게 등장하지만, 2ドル$번 편지지가 누락되면 등장하지 않는다.

민규는 1ドル$번 편지지가 누락되면 2ドル$번과 3ドル$번 편지지에 분할되어 등장하고, 2ドル$번 또는 3ドル$번 편지지가 누락되더라도 1ドル$번에 정확하게 등장한다.

영도는 3ドル$번 편지지가 누락되면 1ドル$번과 2ドル$번 편지지에 분할되어 등장하지만, 1ドル$번 또는 2ドル$번 편지지가 누락되면 등장하지 않는다.

그렇기에 정환, 민규에게 고마움이 전달된다.

예제 입력 2

4
2
hello..pimm..people.......
pimm..is..best..game..develop
dongary..not..algorithm..dongary..p
imm..i..am..well..bye........
1
pimm

예제 출력 2

1
Yes

노트

  • 근성은 이 문제를 출제할 당시 진짜 훈련소에 있었다.

출처

University > 전남대학교 > 2024 하반기 전남대학교 PIMM 알고리즘 파티 F번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /