UVa 291 dfs

来源:互联网 发布:ktv计费软件 编辑:程序博客网 时间:2024/06/10 06:08
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>using namespace std;int map[6][6];void init(){    for(int i=1;i<=5;i++)        for(int j=1;j<=5;j++)            if(i-j) map[i][j]=1;    map[4][1]=map[1][4]=0;    map[4][2]=map[2][4]=0;}void dfs(int num,int cnt,string s){    if(cnt==9)    {        cout<<s<<endl;        return;    }    for(int j=1;j<=5;j++)    {        if(map[num][j])        {            map[num][j]=map[j][num]=0;            dfs(j,cnt+1,s+char(j+'0'));            map[num][j]=map[j][num]=1;        }    }}int main(){    init();    string s="1";    dfs(1,1,s);    return 0;}

0 0