Путешествовать с электроникой всегда весело, особенно когда вам нужен адаптер для их зарядки. Ваша задача - немного упростить планирование поездки, проверив, совместим ли данный штекер с данным сокетом.
Вызов
Учитывая тип штекера и тип сокета, верните значение, которое указывает, будут ли они работать вместе или нет.
Таблица совместимости
Socket Accepted plugs | Plug Accepting Sockets
A A | A A, B
B A, B | B B
C C | C C, D, E, F, H, J, K, L, N, O
D C, D, E, F | D D
E C, E, F | E D, E, F, H, K, O
F C, E, F | F D, E, F, H, K, O
G G | G G
H C, E, F, H | H H
I I | I I
J C, J | J J
K C, E, F, K | K K
L C, L | L L
M M | M M
N C, N | N N
O C, E, F, O | O O
Таблицы показывают ту же информацию, только транспонированы.
вход
Ввод будет дан как две заглавные или две строчные буквы (вы выбираете).
Входы всегда будут
/[A-O]/
(или/[a-o]/
), нет необходимости обрабатывать неправильные входы.Вы можете принять два входа в любом порядке (пожалуйста, укажите, какой).
Входные данные могут быть приняты в любом разумном формате (строка, стандартный, массив, ...).
Если вы берете оба ввода в одну строку, они могут быть разделены не более чем одним символом, и их не должно быть ничего
Хорошие входы:
"G,K"
,"EF"
,"a b"
,['l', 'o']
Плохие входы:
"K l"
,"f(O)(I)"
,[1,5]
Выход
Вывод может быть возвращен в любом разумном формате .
Выход должен быть либо
truthy
/falsy
или одним из 2 постоянных значенийХорошие результаты:
false
/any positive number
,1
/2
,'T'
/'F'
Плохие результаты:
an even number
/an odd number
,1
/more than 1
Примеры
Используя формат socket
, plug
=> true
/ false
.
A, A => true
I, K => false
O, C => true
C, O => false
E, F => true
F, E => true
Стандартные лазейки запрещены.
Это код-гольф, поэтому выигрывает ответ с наименьшим количеством байтов на каждом языке.
источник
Ответы:
Сетчатка 0.8.2 ,
3029 байтПопробуйте онлайн! Ссылка включает в себя тестовые случаи.
источник
Python 3 , 76 байт
Попробуйте онлайн!
Кредиты:
источник
lambda s,p:any([s==p,p in"CEF"and s in"DEFHKO",s=="B"<p,s in"JLN"and"C"==p])
для 76 байтов?Python 3 ,
72 байта73 байта70 байтовПопробуйте онлайн!
Редактировать: Спасибо Час Браун за сокращение жира!
источник
q=
может быть опущено, так как функция анонимна. Кроме того, есть дополнительное место. 70 байтов. Попробуйте онлайн.C (gcc) (архитектура x86),
7660 байтБольшое спасибо Арно за изменения!
Аргументы приведены в порядке (штекер, сокет).
Попробуйте онлайн!
источник
1<<~-b
.L"\6\0\xdd78\0襰襰"
вместо{6,0,56696,0,35184,35184}
Haskell, 67 байт
Аргументами для функции
#
являются два символа: сначала подключи, а потом сокеты.Попробуйте онлайн!
источник
JavaScript (Node.js) , 79 байт
Вызывается как функция карри
f(socket)(plug)
.Попробуйте онлайн! (включает в себя тестовые случаи, показывая матрицу результатов.)
источник
Желе , 31 байт
Монадическая ссылка, принимающая список символов,
[plug,socket]
который выдает,1
если он совместим или0
если нет.Попробуйте онлайн! Или посмотрите набор тестов (который разделяет два класса).
источник
PHP , 81 байт
Чтобы запустить это:
Пример:
Или попробуйте онлайн!
Примечания:
error_reporting=0
опция используется, чтобы не выводить предупреждения.Как?
Каждый штекер совместим с той же розеткой, что и сам. Есть четыре специальных разъема (A, C, E, F), которые также совместимы с несколькими розетками. Четыре строковые переменные с именами специальных разъемов определены для хранения списка их дополнительных совместимых сокетов.
Проверяется, совпадают ли входной штекер и розетка или находится ли розетка в списке совместимых розеток для этого штекера. Последняя проверка выполняется с помощью переменных переменных PHP .
источник
Javascript ES6,
666564 символовПринимает заглавные буквы в
p
для подключи иs
для сокета, возвращается falsy (0
) или truthy (1
,2
,4
, ...,8192
) значения.Тестовое задание:
источник
ERR_CONNECTION_RESET
https
? Работают ли другие ссылки TIO? Я пробовал на Mac (Chrome и Safari) и Android, и он отлично работает ...R ,
132 129113 байтПопробуйте онлайн!
Создает следующую матрицу и извлекает
m[S,P]
=> 1, если TRUE, иначе 0.Сохранено 3 байта путем сжатия индексов с использованием
intToUtf8
и замены этой функции!
. Смотрите историю для более разборчивой версии.Благодаря @Giuseppe сэкономлено 16 байт!
источник
t=
вrep
?Паскаль (FPC) , 113 байт
Попробуйте онлайн!
Тест для всех значений
После
DEFHKO
поезда ...pos(string1,string2)
проверяет первый вхождениеstring1
instring2
и возвращает свою позицию в нем или 0, если он не существует.источник