9 个解决方案
#1
放在算法专题区,没人理,借人气,大家帮忙
#2
up
#3
感觉难,不会。
#4
再帮你顶一下。
#5
谢谢,现在转到专题区
#6
再帮你顶一下。
#7
// 这是其中一步的全排列的代码,另外一步较容易做
template<class T>
void Perm(T list[], int k, int m)
{
int i;
if(k==m)
{
for(i=0;i<=m; i++)
cout << list[i] ;
cout << endl ;
}
else
{
for(i=k;i<=m; i++)
{
Swap(list[k],list[i]) ;
Perm(list,k+1,m) ;
Swap(list[k],list[i] ;
}
}
}
template<class T>
Swap(T &a, T&b)
{
T buf = b ;
b = a ;
a = buf ;
}
#8
#define N 10
#include <stdio.h>
int used[N]={0};
void f(int i)
{
int k;
if(i>=N)
{
printf("\n");
return;
}
for(k=0;k<N;k++)
{
if(used[k])continue;
printf("%d ",k+1);
used[k]=1;
f(i+1);
used[k]=0;
}
}
void main()
{
f(0);
getchar();
}
#include <stdio.h>
int used[N]={0};
void f(int i)
{
int k;
if(i>=N)
{
printf("\n");
return;
}
for(k=0;k<N;k++)
{
if(used[k])continue;
printf("%d ",k+1);
used[k]=1;
f(i+1);
used[k]=0;
}
}
void main()
{
f(0);
getchar();
}
#9
nice
#1
放在算法专题区,没人理,借人气,大家帮忙
#2
up
#3
感觉难,不会。
#4
再帮你顶一下。
#5
谢谢,现在转到专题区
#6
再帮你顶一下。
#7
// 这是其中一步的全排列的代码,另外一步较容易做
template<class T>
void Perm(T list[], int k, int m)
{
int i;
if(k==m)
{
for(i=0;i<=m; i++)
cout << list[i] ;
cout << endl ;
}
else
{
for(i=k;i<=m; i++)
{
Swap(list[k],list[i]) ;
Perm(list,k+1,m) ;
Swap(list[k],list[i] ;
}
}
}
template<class T>
Swap(T &a, T&b)
{
T buf = b ;
b = a ;
a = buf ;
}
#8
#define N 10
#include <stdio.h>
int used[N]={0};
void f(int i)
{
int k;
if(i>=N)
{
printf("\n");
return;
}
for(k=0;k<N;k++)
{
if(used[k])continue;
printf("%d ",k+1);
used[k]=1;
f(i+1);
used[k]=0;
}
}
void main()
{
f(0);
getchar();
}
#include <stdio.h>
int used[N]={0};
void f(int i)
{
int k;
if(i>=N)
{
printf("\n");
return;
}
for(k=0;k<N;k++)
{
if(used[k])continue;
printf("%d ",k+1);
used[k]=1;
f(i+1);
used[k]=0;
}
}
void main()
{
f(0);
getchar();
}
#9
nice