枚举法简单练手--发奖品

题目:
发奖品问题:学期末班里评出5位三好生。老师要将5件互不相同的奖品发给这5位同学。一共有哪几种不同的发法?


实质:全排列

source code:


#include <iostream>
using namespace std;
#define SIZE 5
bool flag[SIZE+1];/*牢记:初始化时 将之定义为0*/
int output[SIZE+1];
void pailie(int f)
{
if(f>5)
{
   for(int j=1;j<SIZE+1;j++)
   printf("%d\t",output[j]);
   printf("\n");
   return;
}
for(int i=1;i<SIZE+1;i++)
{
   if(flag[i])
   {
    output[f]=i;
    flag[i]=false;//这个i不能再用了
    pailie(f+1);
    flag[i]=true;
   }
  
}

}


int main()
{
memset(flag,1,(SIZE+1)*sizeof(bool));
printf("A\tB\tC\tD\tE\t\n");
pailie(1);
system("PAUSE");
return 0;
}
//---------------------------结果:---------------------------------


A       B       C       D       E
1       2       3       4       5
1       2       3       5       4
1       2       4       3       5
1       2       4       5       3
1       2       5       3       4
1       2       5       4       3
1       3       2       4       5
1       3       2       5       4
1       3       4       2       5
1       3       4       5       2
1       3       5       2       4
1       3       5       4       2
1       4       2       3       5
1       4       2       5       3
1       4       3       2       5
1       4       3       5       2
1       4       5       2       3
1       4       5       3       2
1       5       2       3       4
1       5       2       4       3
1       5       3       2       4
1       5       3       4       2
1       5       4       2       3
1       5       4       3       2
2       1       3       4       5
2       1       3       5       4
2       1       4       3       5
2       1       4       5       3
2       1       5       3       4
2       1       5       4       3
2       3       1       4       5
2       3       1       5       4
2       3       4       1       5
2       3       4       5       1
2       3       5       1       4
2       3       5       4       1
2       4       1       3       5
2       4       1       5       3
2       4       3       1       5
2       4       3       5       1
2       4       5       1       3
2       4       5       3       1
2       5       1       3       4
2       5       1       4       3
2       5       3       1       4
2       5       3       4       1
2       5       4       1       3
2       5       4       3       1
3       1       2       4       5
3       1       2       5       4
3       1       4       2       5
3       1       4       5       2
3       1       5       2       4
3       1       5       4       2
3       2       1       4       5
3       2       1       5       4
3       2       4       1       5
3       2       4       5       1
3       2       5       1       4
3       2       5       4       1
3       4       1       2       5
3       4       1       5       2
3       4       2       1       5
3       4       2       5       1
3       4       5       1       2
3       4       5       2       1
3       5       1       2       4
3       5       1       4       2
3       5       2       1       4
3       5       2       4       1
3       5       4       1       2
3       5       4       2       1
4       1       2       3       5
4       1       2       5       3
4       1       3       2       5
4       1       3       5       2
4       1       5       2       3
4       1       5       3       2
4       2       1       3       5
4       2       1       5       3
4       2       3       1       5
4       2       3       5       1
4       2       5       1       3
4       2       5       3       1
4       3       1       2       5
4       3       1       5       2
4       3       2       1       5
4       3       2       5       1
4       3       5       1       2
4       3       5       2       1
4       5       1       2       3
4       5       1       3       2
4       5       2       1       3
4       5       2       3       1
4       5       3       1       2
4       5       3       2       1
5       1       2       3       4
5       1       2       4       3
5       1       3       2       4
5       1       3       4       2
5       1       4       2       3
5       1       4       3       2
5       2       1       3       4
5       2       1       4       3
5       2       3       1       4
5       2       3       4       1
5       2       4       1       3
5       2       4       3       1
5       3       1       2       4
5       3       1       4       2
5       3       2       1       4
5       3       2       4       1
5       3       4       1       2
5       3       4       2       1
5       4       1       2       3
5       4       1       3       2
5       4       2       1       3
5       4       2       3       1
5       4       3       1       2
5       4       3       2       1
请按任意键继续. . .

评论

此博客中的热门博文

Linux/ARM Page Table Entry 属性设置分析

由RFE指令引发的一串故事

提交了30次才AC ---【附】POJ 2488解题报告