n
^2 записали до квадратної матриці n
x n
по спіралі починаючи з верхньої лівої клітинки за годинниковою стрілкою, як показано на малюнку. Знайти число, що знаходиться в i
-му рядку і j
-му стовпчику.
Три натуральних числа n, i, j *(1 ≤ i, *j *≤ n ≤ 100*). Числа задані у файлі через проміжок.
Вихідні дані
Вивести число, що має координати
i
, j
.
Програма:
file=open("input.txt","r") f=file.readlines() f[0]=f[0].rstrip("\n") f1=f[0].split(' ') n=int(f1[0]) x=int(f1[1]) y=int(f1[2]) mas=[]
#Створення списку, елементами якого є списки з такою ж розмірністю for i in range(n): mas1=[] for j in range(n): mas1.append(0) mas.append(mas1) c=0 for k in range(int(n/2)): #Організація звужування периметру з кожним наступним повторенням
#Заповнення елементів списку по периметру матриці for i in range(k,n-k): c=c+1 mas[k][i]=c for j in range(1+k,n-k): c=c+1 mas[j][n-1-k]=c for g in range(n-2-k,-1+k,-1): c=c+1 mas[n-1-k][g]=c for h in range(n-2-k,0+k,-1): c=c+1 mas[h][k]=c
#Заповнення центрального елемента матриці (якщо розмірність матриці непарна) if n%2!=0: c=c+1 mas[int(n/2)][int(n/2)]=c
#Виведення результату print(mas[x-1][y-1])
file=open("input.txt","r") f=file.readlines() f[0]=f[0].rstrip("\n") f1=f[0].split(' ') n=int(f1[0]) x=int(f1[1]) y=int(f1[2]) mas=[]
#Створення списку, елементами якого є списки з такою ж розмірністю for i in range(n): mas1=[] for j in range(n): mas1.append(0) mas.append(mas1) c=0 for k in range(int(n/2)): #Організація звужування периметру з кожним наступним повторенням
#Заповнення елементів списку по периметру матриці for i in range(k,n-k): c=c+1 mas[k][i]=c for j in range(1+k,n-k): c=c+1 mas[j][n-1-k]=c for g in range(n-2-k,-1+k,-1): c=c+1 mas[n-1-k][g]=c for h in range(n-2-k,0+k,-1): c=c+1 mas[h][k]=c
#Заповнення центрального елемента матриці (якщо розмірність матриці непарна) if n%2!=0: c=c+1 mas[int(n/2)][int(n/2)]=c
#Виведення результату print(mas[x-1][y-1])