=== Поля і каміння — пошук довгого простого шляху (забезпечує, що фініт останній) ===
Введіть кількість рядків N (1..100): Введіть кількість стовпців M (1..100): Ймовірність каменю в клітинці (0..1), наприклад 0.25: Часовий ліміт пошуку в секундах (наприклад 1.5): Якщо потрібно — регенерувати поле поки існує шлях? (т/н) [т]:
Згенероване поле (вирівняне):
. . . . # . . # . # . . . . # . . . # . . . # . .
# . . # . . . . . # . # . . # # . . . . . . . . .
# . # . # . . . . . . # . # . . # # . . . . . . .
. . . . # . . # . . . . . . . . # . . . # # . # .
# . # . # # . . . . . # . . # . . . . . . . # . .
. # . . . . . . . . # # . . . . . . # # # # . . .
. . . . # . # # . . . # . . . # . . . . . . . # .
. . # # . . . . . . . # # . # . . . # . . . . # .
# # . . . . . . . . . . # . . # . . . . . # . . .
. . . # # . . . . . . . . . # . # . . . . . # # .
# . . . . # . . . . # # . # . # # . . . . . . . .
# . . . . . . . . . . . . # . . . # . # . # # . .
# . . # # . . # # # . . . . . . . . . . . # . # .
. . # . . . . . . . . . . . . # . # # . . . . . .
. . . . # . . . # . . . . # . . # . . . . . . . #
. # . . # # . # . # . # # # . . . . # . . # . . .
. # # . . . . # . . . . . # . # . . . . . # . . .
. . . . . . # . # . . # . # . . . . . # . . . # .
. . # . . . . . . . # . # . . . . . # . . . . . .
. . . . . # . # . # . . . . . # . # . . # # . . .
# . . # . . . # . . . # # . . . . # . . # . . . #
# . . # . . . # # . . . . . # . . . # . . . # . .
. # . . . # # . . # . # # . # . . # . . . . . . #
. . . . . . . . . # . . . . . # . # . . . . . . .
. . # # . # . . . . # . . # . # . . . . . . . . .
Починаємо пошук найдовшого простого шляху (таймаут = 1.5 сек)...
Знайдений шлях довжиною 317 (0 = старт).
Карта з пронумерованим шляхом:
. . . . # 213 214 # . # . . . . # . . . # 309 310 . # . 316
# . . # . 212 215 218 219 # . # . . # # . . 307 308 311 312 313 314 315
# . # . # 211 216 217 220 . . # . # 250 251 # # 306 299 298 297 296 295 294
. . . . # 210 209 # 221 236 237 238 239 248 249 252 # 304 305 300 # # . # 293
# . # . # # 208 207 222 235 . # 240 247 # 253 . 303 302 301 . . # . 292
. # . . . 204 205 206 223 234 # # 241 246 245 254 255 . # # # # 289 290 291
. . . . # 203 # # 224 233 . # 242 243 244 # 256 . . 285 286 287 288 # .
. . # # . 202 201 . 225 232 231 # # . # . 257 . # 284 283 282 281 # .
# # 58 59 60 61 200 199 226 227 230 . # . . # 258 259 264 265 . # 280 279 278
. . 57 # # 62 63 198 197 228 229 . . . # . # 260 263 266 269 270 # # 277
# 55 56 . . # 64 195 196 . # # . # . # # 261 262 267 268 271 272 273 276
# 54 51 50 49 48 65 194 193 192 191 . . # . . . # . # . # # 274 275
# 53 52 # # 47 66 # # # 190 189 188 187 186 185 184 183 182 181 . # . # .
. . # . . 46 67 68 69 70 . . . . . # . # # 180 179 178 177 176 .
20 21 22 . # 45 44 . # 71 72 . . # . . # 165 166 167 170 171 172 175 #
19 # 23 24 # # 43 # . # 73 # # # 159 160 161 164 # 168 169 # 173 174 .
18 # # 25 40 41 42 # . 75 74 . . # 158 # 162 163 150 149 148 # 144 143 142
17 16 . 26 39 . # . # 76 . # . # 157 156 . 152 151 # 147 146 145 # 141
14 15 # 27 38 37 36 . 78 77 # . # 95 96 155 154 153 # 121 122 123 124 . 140
13 12 . 28 29 # 35 # 79 # . . . 94 97 # . # 119 120 # # 125 138 139
# 11 . # 30 33 34 # 80 81 . # # 93 98 99 . # 118 117 # 127 126 137 #
# 10 9 # 31 32 . # # 82 83 . . 92 # 100 . . # 116 115 128 # 136 .
. # 8 7 6 # # . . # 84 # # 91 # 101 102 # 108 109 114 129 . 135 #
. 2 3 4 5 . . . . # 85 86 89 90 . # 103 # 107 110 113 130 133 134 .
0 1 # # . # . . . . # 87 88 # . # 104 105 106 111 112 131 132 . .
Кроки шляху (1-based координати):
[(25, 1), (25, 2), (24, 2), (24, 3), (24, 4), (24, 5), (23, 5), (23, 4), (23, 3), (22, 3), (22, 2), (21, 2), (20, 2), (20, 1), (19, 1), (19, 2), (18, 2), (18, 1), (17, 1), (16, 1), (15, 1), (15, 2), (15, 3), (16, 3), (16, 4), (17, 4), (18, 4), (19, 4), (20, 4), (20, 5), (21, 5), (22, 5), (22, 6), (21, 6), (21, 7), (20, 7), (19, 7), (19, 6), (19, 5), (18, 5), (17, 5), (17, 6), (17, 7), (16, 7), (15, 7), (15, 6), (14, 6), (13, 6), (12, 6), (12, 5), (12, 4), (12, 3), (13, 3), (13, 2), (12, 2), (11, 2), (11, 3), (10, 3), (9, 3), (9, 4), (9, 5), (9, 6), (10, 6), (10, 7), (11, 7), (12, 7), (13, 7), (14, 7), (14, 8), (14, 9), (14, 10), (15, 10), (15, 11), (16, 11), (17, 11), (17, 10), (18, 10), (19, 10), (19, 9), (20, 9), (21, 9), (21, 10), (22, 10), (22, 11), (23, 11), (24, 11), (24, 12), (25, 12), (25, 13), (24, 13), (24, 14), (23, 14), (22, 14), (21, 14), (20, 14), (19, 14), (19, 15), (20, 15), (21, 15), (21, 16), (22, 16), (23, 16), (23, 17), (24, 17), (25, 17), (25, 18), (25, 19), (24, 19), (23, 19), (23, 20), (24, 20), (25, 20), (25, 21), (24, 21), (23, 21), (22, 21), (22, 20), (21, 20), (21, 19), (20, 19), (20, 20), (19, 20), (19, 21), (19, 22), (19, 23), (20, 23), (21, 23), (21, 22), (22, 22), (23, 22), (24, 22), (25, 22), (25, 23), (24, 23), (24, 24), (23, 24), (22, 24), (21, 24), (20, 24), (20, 25), (19, 25), (18, 25), (17, 25), (17, 24), (17, 23), (18, 23), (18, 22), (18, 21), (17, 21), (17, 20), (17, 19), (18, 19), (18, 18), (19, 18), (19, 17), (19, 16), (18, 16), (18, 15), (17, 15), (16, 15), (16, 16), (16, 17), (17, 17), (17, 18), (16, 18), (15, 18), (15, 19), (15, 20), (16, 20), (16, 21), (15, 21), (15, 22), (15, 23), (16, 23), (16, 24), (15, 24), (14, 24), (14, 23), (14, 22), (14, 21), (14, 20), (13, 20), (13, 19), (13, 18), (13, 17), (13, 16), (13, 15), (13, 14), (13, 13), (13, 12), (13, 11), (12, 11), (12, 10), (12, 9), (12, 8), (11, 8), (11, 9), (10, 9), (10, 8), (9, 8), (9, 7), (8, 7), (8, 6), (7, 6), (6, 6), (6, 7), (6, 8), (5, 8), (5, 7), (4, 7), (4, 6), (3, 6), (2, 6), (1, 6), (1, 7), (2, 7), (3, 7), (3, 8), (2, 8), (2, 9), (3, 9), (4, 9), (5, 9), (6, 9), (7, 9), (8, 9), (9, 9), (9, 10), (10, 10), (10, 11), (9, 11), (8, 11), (8, 10), (7, 10), (6, 10), (5, 10), (4, 10), (4, 11), (4, 12), (4, 13), (5, 13), (6, 13), (7, 13), (7, 14), (7, 15), (6, 15), (6, 14), (5, 14), (4, 14), (4, 15), (3, 15), (3, 16), (4, 16), (5, 16), (6, 16), (6, 17), (7, 17), (8, 17), (9, 17), (9, 18), (10, 18), (11, 18), (11, 19), (10, 19), (9, 19), (9, 20), (10, 20), (11, 20), (11, 21), (10, 21), (10, 22), (11, 22), (11, 23), (11, 24), (12, 24), (12, 25), (11, 25), (10, 25), (9, 25), (9, 24), (9, 23), (8, 23), (8, 22), (8, 21), (8, 20), (7, 20), (7, 21), (7, 22), (7, 23), (6, 23), (6, 24), (6, 25), (5, 25), (4, 25), (3, 25), (3, 24), (3, 23), (3, 22), (3, 21), (3, 20), (4, 20), (5, 20), (5, 19), (5, 18), (4, 18), (4, 19), (3, 19), (2, 19), (2, 20), (1, 20), (1, 21), (2, 21), (2, 22), (2, 23), (2, 24), (2, 25), (1, 25)]