Hypercube Hypercube
Simple
English JA RU
The solid door slowly opened after the painted key was accepted and ... Here it is - the Main Warehouse! You’ve come a long and hard way to get here. There is very little left and the artifact will be yours.

The pedestal upon which stood the Hypercube didn’t fit into the castle’s interiors. It was a high-tech column above which hovered the Cube in a cylinder of bluish light without any visible support. Most likely, the cylinder is a force field, which has to be turned off in order to take the Cube.
"Did Lord Escher actually die? What if he just went back to his home planet?", - the thought has involuntarily entered your mind. But there was no time for reflection. You can’t rule out the possibility of the owner’s ghost trying to stop you on your way back, so you have got to hurry.

When you took a few steps closer to the Cube and were getting ready to reach out, you suddenly felt like you’ve bumped into something invisible, yet impenetrable. Was the Hypercube surrounded by another force field?!
Well, you have to find a way to turn it off.
When you’ve touched an outer invisible force field, a rectangle consisting of letters appeared on it. While you were looking at these letters, their set had changed. It seems that every 10 seconds the letter box automatically reboots. You need to wait for the moment when you can clearly read 'Hypercube' on the field - this will be the short window during which the field is deactivated and you can pass.
Your function receives an array of letters as an argument. Your task is to return True if it’s possible to read the word 'Hypercube' in this array, and False if otherwise. The 'Hypercube' is in the array only if the word "hypercube" can be read/compiled from an unbroken letter line. In addition, the line can bend at a 90-degree angle, but can’t go diagonally. It’s completely case insensitive.

Input: Array of the letters.

Output: True or False.

Example:

hypercube([
              ['g', 'f', 'H', 'Y', 'v'],
              ['z', 'e', 'a', 'P', 'u'],
              ['s', 'B', 'T', 'e', 'y'],
              ['k', 'u', 'c', 'R', 't'],
              ['l', 'O', 'k', 'p', 'r']]) == True
hypercube([
              ['H', 'a', 't', 's', 'E'],
              ['a', 'Y', 'p', 'u', 'B'],
              ['a', 'a', 'P', 'y', 'U'],
              ['x', 'x', 'x', 'E', 'C'],
              ['z', 'z', 'z', 'z', 'R']]) == False

How it is used: For the lexicographic analisys.

Precondition :
3x3 <= array size <= 5x5

Settings
Code:
CheckiO Extensions

CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.

In order to install CheckiO client you'll need installed Python (version at least 3.8)

Install CheckiO Client first:

pip3 install checkio_client

Configure your tool

checkio --domain=py config --key=

Sync solutions into your local folder

checkio sync

(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)

checkio serv -d

Alternatevly, you can install Chrome extension or FF addon

checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium

Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.

×
 
 
<< <
> >>
exec

Whats Next?

Free accounts will see Best CheckiO solutions with some delay.
Best Solutions will be opened in
Become Awesome and Don't wait
The next stage is ""
Will be activated in
View More Solutions Random Review Solutions Share your own solution
Go to the next mission Back to the list of missions Back to the map