아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Aa

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

요약
단어 목록이 주어질 때, 각 aa를 Å 한 글자로 읽을지 정해 목록을 정렬할 수 있는지 판단합니다.
난이도

보통10점 중 6점

유형
그리디, 문자열, 구현
정답자
아직 제출이 없습니다

문제

글자 Å는 덴마크어 알파벳에 1948년에야 도입된 비교적 새로운 글자다. 그 전에는 이중자 Aa가 대신 쓰였고, 이 표기는 Aabenraa나 Aarhus 같은 지명에 아직 남아 있다.

덴마크어 단어를 정렬할 때 Å는 알파벳의 마지막 글자로 취급된다. 흥미롭게도 이 규칙은 이중자 Aa에도 일부 적용된다. Aa는 하나의 소리를 나타낼 때만 Å처럼 정렬된다. 따라서 Aarhus(발음은 "Århus")는 Zurich 뒤에 오고, afrikaans는 afrikan 뒤에 온다. 반면 kontraalt("kontra-alt")는 kontrabas보다 앞에 온다.

발음을 어떻게 해도 상관없는 임의의 단어 목록이 주어진다. 이 목록을 정렬된 상태로 만들 수 있는지 판단하라.

입력

첫 줄에 단어의 개수 NN이 주어진다. 다음 NN개의 줄에는 a-z 소문자로 이루어진 빈 문자열이 아닌 단어가 한 줄에 하나씩 주어진다.

모든 단어는 서로 다르다.

출력

단어에 들어 있는 aa의 출현 위치 중에서 서로 겹치지 않는 위치들을 골라 Å로 읽을 때, 목록 전체가 정렬될 수 있으면 yes를 출력한다. 그렇지 않으면 no를 출력한다.

힌트

첫 번째 예제에서는 aarhus와 aahus를 비교한다. aarhus의 a들은 따로 발음하고 aahus의 a들은 하나의 소리를 이루도록 읽으면 목록이 정렬된다.

두 번째 예제에서는 a를 어떻게 읽어도 목록이 정렬되지 않는다.

세 번째 예제에서는 어떤 경우에도 목록이 정렬되지 않는다. aa를 두 소리로 읽으면 처음 두 단어의 순서가 틀리고, 한 소리로 읽으면 마지막 두 단어의 순서가 틀린다.

네 번째 예제에서는 aaaay, aaårecord, aaårghhhh, aåargh, åaahhh, ååbattery 순서로 읽으면 정렬되어 있다. 여기서 å는 하나의 소리를 이루는 aa를 뜻한다.

다섯 번째 예제에서는 어떤 방식으로 읽어도 정렬된 목록이 되지 않는다.

예제5

  1. 예제 1

    입력
    2
    aarhus
    aahus
    
    예상 출력
    yes
    
  2. 예제 2

    입력
    2
    raaaa
    ra
    
    예상 출력
    no
    
  3. 예제 3

    입력
    3
    b
    aa
    c
    
    예상 출력
    no
    
  4. 예제 4

    입력
    6
    aaaay
    aaaarecord
    aaaarghhhh
    aaaargh
    aaaahhh
    aaaabattery
    
    예상 출력
    yes
    
  5. 예제 5

    입력
    6
    aaaay
    aaaarghhhh
    aaaargh
    aaaarecord
    aaaahhh
    aaaabattery
    
    예상 출력
    no