トボガン軌道
コード2020日3の出現
シミュレータをお試しください!
タスク:Xのどこに解決する.
X = the number of trees hit for each of N trajectories
例入力
..##.......
#...#...#..
.#....#..#.
..#.#...#.#
.#...##..#.
..#.##.....
.#.#.#....#
.#........#
#.##...#...
#...##....#
.#..#...#.#
It represents:第1部
正しい精神的なモデルを特定している
このモデル
modulo
を使用している正しいメンタルモデル
以下のように1つの方法で表されます.
..##.........##.........##.........##.........##.........##.......
#...#...#..#...#...#..#...#...#..#...#...#..#...#...#..#...#...#..
.#....#..#..#....#..#..#....#..#..#....#..#..#....#..#..#....#..#.
..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#
.#...##..#..#...##..#..#...##..#..#...##..#..#...##..#..#...##..#.
..#.##.......#.##.......#.##.......#.##.......#.##.......#.##.....
.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#
.#........#.#........#.#........#.#........#.#........#.#........#
#.##...#...#.##...#...#.##...#...#.##...#...#.##...#...#.##...#...
#...##....##...##....##...##....##...##....##...##....##...##....#
.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.#
北西から南東への道は次のようになります.-
-
-
-
-
-
-
-
-
-
-
-
しかし、この挑戦へのトリックは、その精神的なモデルから、螺旋階段のより多くへのシフトです.または円筒モデル-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
このモデルを実装するために
O.##.......
#..O#...#..
.#....X..#.
..#.#...#O#
.X...##..#.
..#.X#.....
.#.#.#.O..#
.#........X
#.X#...#...
#...#X....#
.#..#...X.#
-
-
-
-
-
-
-
-
-
-
-
0
3
6
9
1
4
7
10
2
5
8
0から3まで、6から9まで行くModulo
は、1つの値を別のものに分割した後の剰余を計算する.9 % 11 == 9
(9 + 3) % 11 == 12 % 11 == 1
アルゴリズムの記述
Split the input at each new-line character into an array of strings
Split each string into an array of characters
Set variables for row, col and hits...all starting at 0
As long as the location in the processed input at row exists
Increment hits by 1 if the value at the row and column is a #
Increment row by 1
Update col to equal the remainder after dividing the sum of col and 3 by the length of the nested array
Return the value stored in hits
第2部
範囲クリープ562479182を理解している
更新された作業アルゴリズム
シミュレータ
範囲クリープの理解
パート1は、1つの軌道を特徴としました
したがって、
更新された作業アルゴリズムの記述
Split the input at each new-line character into an array of strings
Split each string into an array of characters
Set an array with five 2-element arrays to represent each trajectory
For each trajectory
Change the 2-element array into the number of hits encountered by following these operations:
Set variables for row, col and hits...all starting at 0
As long as the location in the processed input at row exists
Increment hits by 1 if the value at the row and column is a #
Increment row by the value at location 1 from the original 2-element array
Update col to equal the remainder after dividing the sum of col and the value at location 2 from the original 2-element array by the length of the nested array
Return the product after multiplying each value together
シミュレータのビルド
Try the simulator!
ありがたいことに、私は2021年からいくつかのパズルでこのスパイラルのようなアルゴリズムに遭遇した.
したがって、このパズルは特に簡単に解決するために感じた.
Reference
この問題について(トボガン軌道), 我々は、より多くの情報をここで見つけました https://dev.to/rmion/toboggan-trajectory-2e2gテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol