- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
n = int(input())
matrix = [[0] * n for i in range(n)]
num = 1
end = n
start = 0
while num != num**2:
for i in range(start, end):
if num == num**2:
break
for j in range(start, end):
if num == num**2:
break
matrix[i][j] = num
num += 1
if j + 1 == end:
for k in range(start+1, end):
if num == num**2:
break
matrix[k][j] = num
num += 1
if k + 1 == end:
for l in range(-end+1, -start):
if num == num**2:
break
matrix[k][l] = num
num += 1
if l + 1 == start:
for m in range(-end+1, -start-1):
if num == num**2:
break
matrix[m][l] = num
num += 1
end -= 1
start += 1
for i in range(n):
for j in range(n):
print(matrix[i][j], end='\t')
print()
reznik 05.09.2017 16:06 # −5
Stallman 05.09.2017 18:46 # −3
Везде.
https://ideone.com/cJ77bA
bormand 05.09.2017 20:47 # 0
HACTEHbKA 06.09.2017 11:14 # −5
meridium 18.10.2017 00:12 # 0
inho 05.09.2017 21:06 # −5
Stallman 05.09.2017 21:40 # −1
HACTEHbKA 06.09.2017 11:15 # −3
roman-kashitsyn 06.09.2017 12:10 # −2
https://habrahabr.ru/post/210796/#comment_7258676
inkanus-gray 06.09.2017 12:28 # −3
А решение какой-нибудь задачи в кватернионах случайно не завалялось?
roman-kashitsyn 06.09.2017 23:51 # −4
https://code.google.com/codejam/contest/6224486/dashboard#s=p2
CHayT 07.09.2017 18:00 # −1
Эта задачка про манхэттонскую метрику, а кватернионы задают преобразования в евклидовом пространстве. Поэтому не думаю, что они тут как-то сильно помогут.
Мой высер: https://ideone.com/4wXmF6
subaru 07.09.2017 09:09 # −4
CHayT 07.09.2017 10:44 # −5
HACTEHbKA 07.09.2017 11:43 # −4
SemaReal 12.09.2017 06:52 # −1
Почему питон?
meridium 17.10.2017 23:44 # 0
meridium 18.10.2017 01:55 # 0
SemaReal 18.10.2017 03:12 # +1
даже на пистончике можно писать некрасиво и неаккуратно