看起来很夸张,其实题目非常的水,测评数据也非常的水
#include<iostream>
#include<cstring>
using namespace std;
int mapp[21][3];
int re[20+1];
int visit[20+1];
int casee;
int m;
void print(int l)
{
cout<<casee++<<": ";
for(int i=0;i<l;i++) cout<<re[i]<<" ";
cout<<m<<endl;
}
void dfs(int l,int x)
{
if(x==m&&l==20){print(l);return;}
//visit[x]=1;
re[l]=x;
for(int i=0;i<3;i++)
{
if(!visit[mapp[x][i]])
{
visit[mapp[x][i]]=1;
dfs(l+1,mapp[x][i]);
visit[mapp[x][i]]=0;
}
}
}
int main()
{
for(int i=1;i<=20;i++)
{
for(int j=0;j<3;j++)
{
cin>>mapp[i][j];
}
}
while(cin>>m&&m)
{
memset(visit,0,sizeof(visit));
casee=1;
dfs(0,m);
}
return 0;
}