您的位置:首页 > 其它

HDOJ 1342 DFS

2016-06-11 00:28 246 查看
#include <iostream>
#include"sstream"
#include"string"
#include"algorithm"
#include"cstring"
#include"cstdio"
using namespace std;
int g[300];
int r,c;
int visit[300];
int a[100];
int n;
int ka=1;
void dfs(int s,int cnd)
{
int i;
if(cnd==6)
{
int f=1;
for(i=0;i<6;i++)
{
if(f) f=0;
else cout<<" ";
cout<<a[i];
}
cout<<endl;
}
for(i=cnd;i<n;i++)
if(!visit[i]&&g[i]>a[cnd-1])  //这是个单调数列
{
visit[i]=1;
a[cnd]=g[i];
dfs(i,cnd+1);
visit[i]=0;
}
}
int main()
{
freopen("a.txt","r",stdin);
while(cin>>n&&n)
{
if(ka) ka=0;
else cout<<endl;
memset(visit,0,sizeof(visit));
int i;
for(i=0;i<n;i++)
{
cin>>g[i];
}
for(i=0;i<n-6+1;i++)
if(!visit[i])
{

visit[i]=1;
a[0]=g[i];
dfs(i,1);
}

}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: