国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 达尔| 高阳县| 武清区| 邵东县| 柞水县| 晴隆县| 乌兰察布市| 岑溪市| 舒城县| 十堰市| 迁安市| 新河县| 和平区| 东安县| 博兴县| 建德市| 景东| 叙永县| 新余市| 巨鹿县| 耒阳市| 南涧| 屯留县| 金华市| 九寨沟县| 屏南县| 日土县| 克山县| 简阳市| 教育| 娄烦县| 台安县| 南昌县| 上思县| 定南县| 阳城县| 汕头市| 兴海县| 和龙市| 黔东| 潜山县|