huangjian


私信TA

用户名:dotcpp0626587

访问量:825

签 名:

等  级
排  名 10133
经  验 1109
参赛次数 1
文章发表 15
年  龄 0
在职情况 教师
学  校
专  业

  自我简介:


d=[(-1,-2),(1,-2),(-2,-1),(2,-1),(-2,1),(2,1),(-1,2),(1,2)]
def dfs(x,y,s):
    global res
    if s==n*m:
        res+=1
        return
    for a,b in d:
        if x+a<0 or x+a>=n or y+b<0 or y+b>=m or vis[x+a][y+b]==1:
            continue
        # if 0<=x+a<n and 0<=y+b<m and vis[x+a][y+b]==0:
        vis[x+a][y+b]=1
        dfs(x+a,y+b,s+1)
        vis[x+a][y+b]=0

t=int(input())
raw=[]
for x in range(t):
    raw.append(map(int,input().split()))
for n,m,x,y in raw:
    res=0
    vis=[[0 for x in range(m)] for y in range(n)]
    vis[x][y]=1
    dfs(x,y,1)
    print(res)


 

0.0分

0 人评分

  评论区

  • «
  • »