## 模拟题4
**问题描述**
```
　　对于一个 n 行 m 列的表格，我们可以使用螺旋的方式给表格依次填上正整数，我们称填好的表格为一个螺旋矩阵。
　　例如，一个 4 行 5 列的螺旋矩阵如下：
　　1 2 3 4 5
　　14 15 16 17 6
　　13 20 19 18 7
　　12 11 10 9 8
```
**输入格式**
```
　　输入的第一行包含两个整数 n, m，分别表示螺旋矩阵的行数和列数。
　　第二行包含两个整数 r, c，表示要求的行号和列号。
```
**输出格式**
```
　　输出一个整数，表示螺旋矩阵中第 r 行第 c 列的元素的值。

```
**样例输入**
```
4 5
2 2
```
**样例输出**
```
15
```
**评测用例规模与约定**
```
　　对于 30% 的评测用例，2 <= n, m <= 20。
　　对于 70% 的评测用例，2 <= n, m <= 100。
　　对于所有评测用例，2 <= n, m <= 1000，1 <= r <= n，1 <= c <= m。
```


```
a,b=[1,2]
print(a)
```

    1



```
n,m=map(int,input().split())
r,c=map(int,input().split())
nn=[[0]*m  for i in range(n)]
i=0
j=0
num=1
n_status=['=','+','=','-']
m_status=['+','=','-','=']
n_s=0
m_s=0
def op1(n_status,m_status,n_s,m_s,i,j):
    if n_status[n_s]=='+':
        i+=1
    elif n_status[n_s]=='-':
        i-=1
    if m_status[m_s]=='+':
        j+=1
    elif m_status[m_s]=='-':
        j-=1
    return [i,j]
def op2(n_status,m_status,n_s,m_s,i,j):
    if n_status[n_s]=='+':
        i-=1
    elif n_status[n_s]=='-':
        i+=1
    if m_status[m_s]=='+':
        j-=1
    elif m_status[m_s]=='-':
        j+=1
    return [i,j]
while True :
    if (i+1)==r and (j+1)==c:
        print(num)
        break
    if i<n and j<m and nn[i][j]==0:
        nn[i][j]=num
    else:
        i,j=op2(n_status,m_status,n_s,m_s,i,j)
        num-=1
        n_s=(n_s+1)%4
        m_s=(m_s+1)%4
#     if n_status[n_s]=='+':
#         i+=1
#     elif n_status[n_s]=='-':
#         i-=1
#     if m_status[m_s]=='+':
#         j+=1
#     elif m_status[m_s]=='-':
#         j-=1
    i,j=op1(n_status,m_status,n_s,m_s,i,j)
    num+=1
# print(nn)
```

    4 5
    2 2
    15
