Это, по сути, обратное Генерировать номерной знак США
Задача: учитывая строку, соответствующую одному из приведенных ниже форматов номерных знаков, выведите все возможные состояния, соответствующие этому форматированию. В приведенной ниже таблице 0
обозначает одну цифру 0
через 9
включительно, и A
выступает за одной буквы A
через Z
включительно. Для целей этой задачи мы игнорируем состояния со сложными правилами формата (например, Делавэр, который имеет переменное число цифр) и игнорируем удаление одинаковых букв (например, I
и 1
).
AAA 000: AK, IA, MS, MP, VT
0000: AS
AAA0000: AZ, GA, WA
000 AAA: AR, KS, KY, LA, ND, OR
0AAA000: CA
AA-00000: CT
AA-0000: DC
AAA A00: FL
AA 00000: IL
000A,000AA,000AAA,AAA000: IN
0AA0000: MD
AAA 0000,0AA A00,AAA 000: MI
000-AAA: MN
00A-000: NV
000 0000: NH
A00-AAA: NJ
000-AAA,AAA-000: NM
AAA-0000: NY, NC, PA, TX, VA, WI
AAA 0000: OH
000AAA: OK
AAA-000: PR
000-000: RI
AAA 000,000 0AA: SC
A00-00A: TN
A00 0AA: UT
Примеры:
B32 9AG
[UT]
1YUC037
[CA]
285 LOR
[AR, KS, KY, LA, ND, OR] (in any order)
285-LOR
[MN, NM] (in any order)
285LOR
[IN, OK] (in any order)
Правила и разъяснения
- Входная строка гарантированно не пуста и имеет один из указанных выше форматов.
- Поведение, если задан формат, отличный от указанного выше, не определено
- Ввод и вывод может быть дан любым удобным способом
- Вы можете распечатать результат в STDOUT или вернуть его как результат функции
- Допустимы либо полная программа, либо функция
- Стандартные лазейки запрещены
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах)