麻烦高手帮我标记下每步都是干什么的。。新手 实在不懂 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:21:10
#include <iostream>
using namespace std;
#define MN 15
bool vis[MN];
int n;
void dfs(bool tag,int deep)
{
vis[deep]=tag;
if(deep==n)
{
for(int i=1;i<=n;++i)if(vis[i])cout<<i<<" ";
cout<<endl;
return ;

}
dfs(0,deep+1);
dfs(1,deep+1);

}
int main()
{
cin>>n;
dfs(0,1);
dfs(1,1);
return 0;
}

#include <iostream> //把头文件加进去
using namespace std;//定义命名空间
#define MN 15 //定义MN代表15
bool vis[MN];//定义布尔型数组
int n;//定义整型变量n
void dfs(bool tag,int deep)
{
vis[deep]=tag;//定义数组第deep个元素vis[deep]为tag
if(deep==n) //如果deep等于n
{
for(int i=1;i<=n;++i)//循环到i大于n
if(vis[i])cout<<i<<" ";//如果vis[i]为真,输出空字符串
cout<<endl;//输出结束
return ;?/、返回

}
dfs(0,deep+1);//执行函数dfs(0,deep+1)
dfs(1,deep+1);//执行函数dfs(0,deep+1)

}
int main()
{
cin>>n;//读入n
dfs(0,1);//执行函数dfs(0,1)
dfs(1,1);//执行函数dfs(0,1)

return 0;//返回0,标准C++主函数现已经改成整形了
}