Прикреплённый файл «labpur.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 # Намеренно непонятный генератор лабиринтов (третий параметр — непроходимость)
4 import sys, random
5
6 M=len(sys.argv)>1 and int(sys.argv[1]) or 17
7 N=len(sys.argv)>2 and int(sys.argv[2]) or 11
8 T=[[1]*M for i in xrange(N)]
9 T[0][0],P=0, len(sys.argv)>3 and [(0,0),(M-1,N-1)] or [(0,0)]
10 while P:
11 if len(sys.argv)>3:
12 i=random.randrange(len(P))
13 P[-1],P[i]=P[i],P[-1]
14 V=[(P[-1][0]+dx,P[-1][1]+dy) for dx,dy in ((-2,0),(0,2),(2,0),(0,-2)) if 0<=P[-1][0]+dx<M and 0<=P[-1][1]+dy<N and T[P[-1][1]+dy][P[-1][0]+dx]]
15 if not V: P.pop()
16 else:
17 P.append(random.choice(V))
18 T[(P[-2][1]+P[-1][1])/2][(P[-2][0]+P[-1][0])/2]=T[P[-1][1]][P[-1][0]]=0
19
20 print T
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2011-12-14 16:25:52, 1.0 KB) [[attachment:Avyshlovlab.py]]
- [получить | показать] (2011-12-14 13:37:48, 2.2 KB) [[attachment:floyd-warshell.py]]
- [получить | показать] (2011-12-14 13:39:03, 1.3 KB) [[attachment:labdijkstra.py]]
- [получить | показать] (2011-12-14 13:39:59, 0.8 KB) [[attachment:labpur.py]]
- [получить | показать] (2011-12-13 22:42:54, 2.2 KB) [[attachment:ray_lab.py]]
Вам нельзя прикреплять файлы к этой странице.