Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Nhiệm vụ của bạn là tạo ra ma trận xoắn ốc với kích thước ~n x n~ cho trước
Input
Một dòng duy nhất chứa số ~n~ ~(1 \le n \le 50)~
Output
Một ma trận xoắn ốc kích thước ~n x n~, xem ví dụ dưới để rõ thêm
Sample
Input #1
3
Output #1
1 2 3
8 9 4
7 6 5
Input #2
4
Output #2
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
Problem source: CLB Lập Trình PTIT
Bình luận
from math import *
import numpy as np #type: ignore
from collections import Counter import re
if name == 'main': n = int(input()) a = [[0]n for _ in range(n)] num =1 t = 0 b = n-1 r = n-1 l = 0 while(num <= n*2): for i in range(l, r+1): a[t][i] = num num+=1 t+=1 for i in range(t, b+1): a[i][r] = num num+=1 r-=1 for i in range(r, l-1, -1): a[b][i] = num num+=1 b-=1 for i in range(b, t-1, -1): a[i][l] = num num+=1 l+=1
bài này hay