Please anyone help me with this 98A - Помогите Василисе Премудрой . I do not understand how the solution of editorial is approached.
# | User | Rating |
---|---|---|
1 | ecnerwala | 3649 |
2 | Benq | 3581 |
3 | orzdevinwang | 3570 |
4 | Geothermal | 3569 |
4 | cnnfls_csy | 3569 |
6 | tourist | 3565 |
7 | maroonrk | 3531 |
8 | Radewoosh | 3521 |
9 | Um_nik | 3482 |
10 | jiangly | 3468 |
# | User | Contrib. |
---|---|---|
1 | maomao90 | 174 |
2 | awoo | 164 |
3 | adamant | 162 |
4 | TheScrasse | 159 |
5 | nor | 158 |
6 | maroonrk | 156 |
7 | -is-this-fft- | 151 |
8 | SecondThread | 147 |
9 | orz | 146 |
10 | pajenegod | 145 |
Please anyone help me with this 98A - Помогите Василисе Премудрой . I do not understand how the solution of editorial is approached.
Name |
---|
:(
Someone will come to help you, even if they don't, you know bro, LIFE_GOES_ON
Writing editorial is difficult for me too.
Link to AC submission
Take a cube and label it as follows.
Up, down : 0, 1
Front, Back : 2, 3
Left, Right : 4, 5
Now, we have 3 different kinds of rotations, each rotation has one of the above pairs fixed and the remaining ones complete some circles.
Say we have {1, 2, 3, 4} as an array. Then one rotation gives {2, 3, 4, 1}. Similarly, the positions for rotation as per the above notation are {0, 2, 1, 3}, {0, 4, 1, 5}, {2, 4, 3, 5}.
It is obvious that only 3 rotations are possible and 4th rotation gives us the original array.
So here's what I did :
Sort the initial string
Go through its permutations
Rotate each of its permutations along each of the 3 axes up to a maximum of 3 times(64 in total)
See if at least one of them already exists in the set
If it doesn't then increase the answer by 1
Push all the rotations of the current permutation into a set