//这题用深度搜索做起来很简单的
// 好多烫.cpp : 定义控制台应用程序的入口点。
//
//#include "stdafx.h"
#include<iostream>
#include<string.h>
using namespace std;
const int MAX=10005;
int a[5];
bool ok()
{
if(a[1]==4)return false;
int i;
for(i=0;i+1<5;i++)
{
if(a[i]==3&&a[i+1]==5)return false;
if(a[i]==5&&a[i+1]==3)return false;
}
return true;
}
void DFS(int deep)
{
int i;
if(deep==5)
{
if(ok())
{
for(i=0;i<5;i++)
{
printf("%d",a[i]);
}
puts("");
}
return ;
}
for(i=1;i<6;i++)
{
a[deep]=i;
DFS(deep+1);
}
}
//int _tmain(int argc, _TCHAR* argv[])
int main()
{
DFS(0);
return 0;
}
温馨提示:答案为网友推荐,仅供参考