B. Телефонные номера

Codeforces
IDCF10131B
Time2000ms
Memory256MB
Difficulty
English · Original
Formal · Original
Телефонные номера в адресной книге мобильного телефона студента Васи имеют один из следующих форматов:  + 7 < код >  < номер >  8 < код >  < номер >   < номер >  где  < номер >  — это семь цифр, а  < код >  — это три цифры или три цифры в круглых скобках. Если код не указан, то считается, что он равен 495. Кроме того, в записи телефонного номера может стоять знак " - " между любыми двумя цифрами (см. пример). На данный момент в адресной книге телефона Васи записано всего три телефонных номера, и он хочет записать туда еще один. Но он не может понять, не записан ли уже такой номер в телефонной книге. Помогите ему! Два телефонных номера совпадают, если у них равны коды и равны номера. Например,  + 7(916)0123456 и 89160123456 — это один и тот же номер. В первой строке входных данных записан номер телефона, который Вася хочет добавить в адресную книгу своего телефона. В следующих трех строках записаны три номера телефонов, которые уже находятся в адресной книге телефона Васи. Гарантируется, что каждая из записей соответствует одному из трех приведенных в условии форматов. Для каждого телефонного номера в адресной книге выведите YES (заглавными буквами), если он совпадает с тем телефонным номером, который Вася хочет добавить в адресную книгу или NO (заглавными буквами) в противном случае. ## Входные Данные В первой строке входных данных записан номер телефона, который Вася хочет добавить в адресную книгу своего телефона. В следующих трех строках записаны три номера телефонов, которые уже находятся в адресной книге телефона Васи.Гарантируется, что каждая из записей соответствует одному из трех приведенных в условии форматов. ## Выходные Данные Для каждого телефонного номера в адресной книге выведите YES (заглавными буквами), если он совпадает с тем телефонным номером, который Вася хочет добавить в адресную книгу или NO (заглавными буквами) в противном случае. ## Пример Входные данные8(495)430-23-97+7-4-9-5-43-023-974-3-0-2-3-9-78-495-430Выходные данныеYESYESNO [samples]
**Definitions** Let $ N $ be the target phone number to be added. Let $ B = \{b_1, b_2, b_3\} $ be the set of three existing phone numbers in the address book. Each phone number is a string conforming to one of three formats: 1. `+7<code><number>` 2. `8<code><number>` 3. `<number>` where: - `<number>` is a sequence of exactly 7 digits. - `<code>` is either: - a sequence of exactly 3 digits, or - a sequence of exactly 3 digits enclosed in parentheses `(` and `)`. - The characters `-` may appear arbitrarily between digits and are to be ignored. - If no code is present (format 3), the code is implicitly `495`. **Constraints** Each number string contains only digits, `+`, `8`, `(`, `)`, and `-`. Each number has exactly 7 digits in the `<number>` part. Each `<code>` (if present) has exactly 3 digit characters (ignoring parentheses). **Objective** For each $ b_i \in B $, determine whether it is equivalent to $ N $. Two numbers are equivalent if and only if: - Their normalized codes are equal, and - Their normalized numbers are equal. Normalization: - Remove all `-` characters. - Extract the last 7 digits as the number. - Extract the preceding 3 digits (if any) as the code; if none, use `495`. - For format 1, ignore the `+7` prefix. - For format 2, ignore the `8` prefix. - For format 3, assume code is `495`. Output for each $ b_i $: - `YES` if equivalent to $ N $, - `NO` otherwise.
API Response (JSON)
{
  "problem": {
    "name": "B. Телефонные номера",
    "description": {
      "content": "Телефонные номера в адресной книге мобильного телефона студента Васи имеют один из следующих форматов:  + 7 < код >  < номер >  8 < код >  < номер >   < номер >  где  < номер >  — это семь цифр, а",
      "description_type": "Markdown"
    },
    "platform": "Codeforces",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "CF10131B"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Телефонные номера в адресной книге мобильного телефона студента Васи имеют один из следующих форматов:\n\n + 7 < код >  < номер > \n\n8 < код >  < номер > \n\n < номер > \n\nгде  < номер >  — это семь цифр, а...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ N $ be the target phone number to be added.  \nLet $ B = \\{b_1, b_2, b_3\\} $ be the set of three existing phone numbers in the address book.  \n\nEach phone number is a string con...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments