国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

走迷宮

2019-11-08 19:48:47
字體:
供稿:網(wǎng)友

PRoblem Description

一個由n * m 個格子組成的迷宮,起點是(1, 1), 終點是(n, m),每次可以向上下左右四個方向任意走一步,并且有些格子是不能走動,求從起點到終點經(jīng)過每個格子至多一次的走法數(shù)。

Input

       第一行一個整數(shù)T 表示有T 組測試數(shù)據(jù)。(T <= 110)

對于每組測試數(shù)據(jù):

第一行兩個整數(shù)n, m,表示迷宮有n * m 個格子。(1 <= n, m <= 6, (n, m) !=(1, 1) ) 接下來n 行,每行m 個數(shù)。其中第i 行第j 個數(shù)是0 表示第i 行第j 個格子可以走,否則是1 表示這個格子不能走,輸入保證起點和終點都是都是可以走的。

任意兩組測試數(shù)據(jù)間用一個空行分開。

Output

對于每組測試數(shù)據(jù),輸出一個整數(shù)R,表示有R 種走法。

Example Input

3
2 2
0 1
0 0
2 2
0 1
1 0
2 3
0 0 0
0 0 0

Example Output

1
0
4
 
#include<stdio.h>#include<string.h>#include<stdlib.h>#define max 7int book[max][max];int df[max][max];int count,n,m;void dfs(int x,int y){    int i,tx,ty;    if(x==n&&y==m)    {        count++;        return ;    }    int next[4][2]={{-1,0},{0,1},{1,0},{0,-1}};    for(i=0;i<4;i++)    {        tx=x+next[i][0];        ty=y+next[i][1];        if(tx<1||tx>n||ty<1||ty>m)            continue;        if(df[tx][ty]!=1&&book[tx][ty]==0)        {            book[tx][ty]=1;            dfs(tx,ty);            book[tx][ty]=0;        }    }}int main(){    int t,i,j;    scanf("%d",&t);    while(t--)    {        count=0;        scanf("%d%d",&n,&m);        for(i=1;i<=n;i++)        {            for(j=1;j<=m;j++)            {                scanf("%d",&df[i][j]);            }        }        book[1][1]=1;        dfs(1,1);        printf("%d/n",count);    }    return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 双城市| 前郭尔| 健康| 黄山市| 舒城县| 儋州市| 长葛市| 绍兴县| 溧阳市| 平昌县| 年辖:市辖区| 连州市| 五莲县| 丰都县| 安图县| 来凤县| 德昌县| 屯昌县| 襄垣县| 漯河市| 西安市| 通许县| 拜泉县| 常宁市| 栾城县| 福安市| 穆棱市| 枝江市| 茌平县| 洛隆县| 搜索| 平遥县| 民乐县| 祥云县| 巴里| 峨边| 两当县| 通榆县| 靖西县| 年辖:市辖区| 东乌珠穆沁旗|