-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathZERO_901.rb
executable file
·128 lines (128 loc) · 3.15 KB
/
ZERO_901.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# frozen_string_literal: true
# テキスト: ゼロからわかる Ruby 超入門
#
# 課題801
# 「S」「G」「#」で構成される迷路が与えられます。
# 「S」「G」間をなるべく最短かつ早くクリアできるプログラムを作成してください。
# 「S」から「G」までは解答例のように「:」で経路を表示させて下さい。
#
# 迷路はNxN で構成されるものとします。。
# Nの範囲は10≦N≦100とします。
#
# 迷路のサンプル
#
# 回答表示例
#
#
# 1. 実行方法
# 課題に添付のsample.zipをダウンロードします。
#
#展開すると以下のようなファイル構成になります。
#
# local_sample
# ├─ run.rb
# └─ solve.rb
#
# 2. 動作確認
# コンソールを起動して、展開したディレクトリーへ移動後、以下のコマンドを実行してみてください。
# $ ruby run.rb
# 以下のような出力結果になると思います。
# ## input
#
# ###########
# S # # #
# # # ### # #
# # # # #
# ##### ### #
# # # #
# # ### # ###
# # # # # #
# ### ### # #
# # G
# ###########
#
#
# ## output
#
# ###########
# S # # #
# # # ### # #
# # # # #
# ##### ### #
# # # #
# # ### # ###
# # # # # #
# ### ### # #
# # G
# ###########
#
#
# ## result
#
# false
#
# 3. 処理を書く
# solve.rbに迷路を解くRubyのコードを記述してください。
# (solve.rbの中身は下記のようになります。)
#
# maze_ary = STDIN.each_line.map(&:chomp)
#
# # ここに処理を書いてください。
#
# puts(maze_ary)
#
# 記述が終わりましたらrun.rbを実行して動作確認を行ってください。
#
# 正解になると以下のような表示になります。
#
# ## input
#
# ###########
# S # # #
# # # ### # #
# # # # #
# ##### ### #
# # # #
# # ### # ###
# # # # # #
# ### ### # #
# # G
# ###########
#
#
# ## output
#
# ###########
# S:#:::::# #
# #:#:###:# #
# #:::#:::# #
# #####:### #
# #:::::# #
# #:### # ###
# #:::# # # #
# ###:### # #
# # :::::::G
# ###########
#
#
# ## result
#
# true
#
# 4.応用編
# 慣れてきたら、run.rbの以下の部分を変更してマップを変更して実行しても正解になるかどうか確認してみてください。(左の数字は行数です。)
#
#
# 5 ###########
# 6 S:#:::::# #
# 7 #:#:###:# #
# 8 #:::#:::# #
# 9 #####:### #
# 10 #:::::# #
# 11 #:### # ###
# 12 #:::# # # #
# 13 ###:### # #
# 14 # :::::::G
# 15 ###########
#
#