感觉这个程序作为DFS入门是很理想的,大家应该都能看懂。
贴出来和大家分享:
代码
#include
<
iostream
>
using namespace std;
int a[ 100 ] = { 0 };
int n;
int count = 0 ;
void dfs( int k)
{
if (k >= n)
{
for ( int i = 0 ;i < n;i ++ )
{
cout << a[i] << " " ;
}
count ++ ;
cout << endl;
}
else
{
for ( int i = 1 ;i <= n;i ++ )
{
a[k] = i;
dfs(k + 1 );
}
}
}
int main()
{
while (cin >> n)
{
count = 0 ;
int k = 0 ;
dfs(k);
cout << count << endl;
}
}
using namespace std;
int a[ 100 ] = { 0 };
int n;
int count = 0 ;
void dfs( int k)
{
if (k >= n)
{
for ( int i = 0 ;i < n;i ++ )
{
cout << a[i] << " " ;
}
count ++ ;
cout << endl;
}
else
{
for ( int i = 1 ;i <= n;i ++ )
{
a[k] = i;
dfs(k + 1 );
}
}
}
int main()
{
while (cin >> n)
{
count = 0 ;
int k = 0 ;
dfs(k);
cout << count << endl;
}
}