Как человек, который не может не смотреть на свои пятиугольники, чтобы увидеть, имеет ли он прямоугольную форму, я решил заставить вас написать программу, которая это делает.
Твое задание
Учитывая некоторые входные данные, разделенные символами новой строки, содержащими 12 уникальных символов, решите, является ли это допустимым решением.
Действительное решение ДОЛЖНО
- Есть 5 каждого персонажа (кроме новых строк)
- Каждый набор символов должен быть полностью связан
- Каждый набор символов должен иметь уникальную форму
- Быть в правильной прямоугольной форме
Если это правильное решение, выведите истинное значение, в противном случае выведите ложное значение.
Ваша программа может быть функцией или полной программой, но она должна принимать входные данные из stdin и выводить их в stdout.
Контрольные примеры
Действительные решения
000111
203331
203431
22 444
2 46
57 666
57769!
58779!
58899!
5889!!
00.@@@ccccF111//=---
0...@@c))FFF1//8===-
00.ttttt)))F1/8888=-
Неверные конфигурации
invalid (doesn't contain 12 unique characters)
111112222233333444445555566666
77777888889999900000qqqqqwwwww (Each set has the same shape)
1234567890qw
w1234567890q
qw1234567890
0qw123456789
90qw12345678 (None of the characters are connected)
1234567890qw (Not 5 characters in every set)
1111122222333334444455555666666
77777888889999900000qqqqqwwwwww (More than 5 characters in some sets)
00
0
00.@@@ccccF111//=---
...@@c))FFF1//8===-
.ttttt)))F1/8888=- (Doesn't form a rectangular shape)
Ответы:
JavaScript (ES6),
237235222 байта2 байта сохранены благодаря @DankMemes !
Применение
объяснение
Несколько замечаний об этом решении:
STDIN
иSTDOUT
для ввода и вывода, но ониprompt()
предназначены только для однострочного ввода, и мой (Windows) компьютер автоматически вставляет\r\n
символы в каждую новую строку при вставке, поэтому я сделал это функцией, которая принимает строку.источник
l=p.indexOf`<newline here>`
чтобы сохранить 2 байта