만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

ICPC 레코드 매칭

면접 대비

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

요약
두 명단의 이름과 이메일 기록을 이메일 또는 성과 이름이 정확히 같은 경우 짝지어 주고, 짝을 찾지 못한 기록을 이메일 순으로 출력한다.
난이도

쉬움10점 중 3점

유형
해시맵, 문자열, 정렬, 구현
정답자
아직 제출이 없습니다

문제

"서비스형 소프트웨어"를 사용할 때, 사용자는 여러 서비스에 저장된 레코드를 대조하여 그것이 같은 개체(사람, 계정, 주문 등)를 가리키는지 판단해야 하는 문제를 자주 겪는다. ICPC도 예외가 아니다. 모든 참가자는 ICPC 중앙 등록 시스템에 레코드를 갖고 있지만, 중앙 시스템이 제공하지 않는 기능을 위해 정보를 수집하고 처리하는 "외부" 애플리케이션을 함께 사용할 수 있다.

외부 애플리케이션을 사용하면 두 시스템의 항목을 대조해야 한다. 아무리 주의를 기울여 안내해도 레코드가 같은 사람을 가리키는지 분명하지 않을 때가 있다. 주로 발생하는 불일치 유형은 다음과 같다.

  1. 이메일 주소가 일치하지 않는다. .edu 대신 .eud처럼 잘못 입력했거나, 참가자가 중앙 ICPC 시스템과 외부 시스템에서 서로 다른 이메일 주소를 사용했기 때문일 수 있다.
  2. 이름이 정확히 일치하지 않는다. 입력 오류 때문이거나, 실명과 별명을 다르게 사용했기 때문일 수 있다.

여러분의 팀은 ICPC 시스템과 외부 시스템의 사람 목록을 읽고, 각 시스템에서 다른 시스템의 레코드와 매칭되지 않는 레코드를 판별하는 프로그램을 작성해야 한다. 이메일 주소가 정확히 일치하거나 성과 이름이 정확히 일치하면 두 항목이 매칭된 것으로 본다.

입력

입력은 이름과 이메일 주소 레코드 두 목록이다. 각 레코드는 이름, 성, 이메일 주소로 이루어지며 한 줄에 하나씩 탭으로 구분된다. 첫 번째 목록은 중앙 ICPC 등록 시스템의 레코드다. 이 목록은 빈 줄로 끝난다. 두 번째 목록은 외부 애플리케이션의 레코드다. 두 번째 목록은 파일의 끝으로 끝난다. (이 목록들은 실제 ICPC 데이터가 아니라 테스트용으로 적합한 데이터다.)

이메일 주소의 길이는 6464자를 넘지 않는다. 이메일 주소는 영문 대소문자, 숫자, 그리고 골뱅이, 밑줄, 하이픈, 마침표 특수 문자로 이루어진다. 이메일 주소는 특수 문자로 시작하지 않는다.

이름과 성의 길이는 2424자를 넘지 않는다. 이름은 영문 대소문자와 하이픈으로 이루어진다. 이름은 하이픈으로 시작하지 않는다.

각 입력 목록은 최소 11개, 최대 2 0002\,000개의 항목을 포함한다. 이메일 주소와 (이름, 성) 쌍은 각 목록 안에서 유일하다.

출력

프로그램은 각 목록에서 다른 목록과 매칭되지 않은 레코드를 줄 단위로 출력한다. 먼저 매칭되지 않은 중앙 ICPC 등록 레코드를 한 줄에 하나씩 출력한다. 각 줄은 문자 "I", 공백 하나, 이메일 주소, 공백 하나, 성, 공백 하나, 이름 순서로 이루어진다. 이 레코드들은 이메일 주소의 사전순으로 출력한다. 이메일 주소, 성, 이름은 입력에 나타난 그대로 출력한다. 이러한 레코드를 모두 출력한 뒤, 매칭되지 않은 외부 애플리케이션 레코드를 같은 방식으로 출력하되 각 줄은 문자 "O"로 시작한다.

모든 레코드 비교와 정렬에서 대소문자는 무시한다.

각 시스템의 모든 레코드가 다른 시스템에서 매칭을 가지면, 프로그램은 문자열 "No mismatches."만 포함한 줄을 출력한다.

예제2

  1. 예제 1

    입력
    Bob        Smith   bsmith@gmail.com
    Randy   Nguyen  rnguyen@gmail.com
    Betty   Jones   jones123@gmail.com
    Sallie  Li      SalLi@aol.com
    
    Robert  Smith   bsmith@abc.edu
    Quan    Nguyen  qnguy@xyz.edu
    Betty   Jones   jones123@gmail.com
    Sarah   Leung   sleung@mno.edu
    
    예상 출력
    I bsmith@gmail.com Smith Bob
    I rnguyen@gmail.com Nguyen Randy
    I SalLi@aol.com Li Sallie
    O bsmith@abc.edu Smith Robert
    O qnguy@xyz.edu Nguyen Quan
    O sleung@mno.edu Leung Sarah
    
  2. 예제 2

    입력
    Camellia   Woodley Camellia_Woodley3398@deavo.com
    Leroy   Thomas  Leroy_Thomas7852@fuliss.net
    Freya   Campbell        Freya_Campbell9926@ubusive.com
    Eduardo Allen   Eduardo_Allen3976@bauros.biz
    Danny   West    Danny_West6110@twipet.com
    
    Ed      Allen   eduardo_allen3976@bauros.biz
    Daniel  West    Danny_West6110@twipet.com
    camellia        woodley camellia_woodley3398@deavo.com
    Leroy   Thomas  Leroy_Thomas7852@fuliss.net
    freya   Campbell        campbellf@deavo.net
    
    예상 출력
    No mismatches.