main.cpp
来自「我做的一些C语言练习题,里面一共有76道题目,主要用到一些计算机常用的算法,如:」· C++ 代码 · 共 43 行
CPP
43 行
/*******************************************************************************
48. 将4个红球,3个白球与3个黄球排成一排,共有多少种排法?
*****************************************************************************/
#include <stdio.h>
int counter = 0;
char* color[3] = {"RED","WHITE","YELLOW"};
int count[3] = {4,3,3};
int status[3] = {0,0,0};
int perm[10];
void PutIt(int k)
{
int i;
if(k == 10)//完成
{
//output
counter++;
for(i=0; i<10; i++)
printf("%s ",color[perm[i]]);
printf("\n");
}
else
{
for(i=0; i<3; i++)
{
perm[k] = i;
++status[i];
if(status[i] <= count[i])
PutIt(k+1);
--status[i];
}
}
}
void main()
{
PutIt(0);
printf("一共有%d种排法!\n", counter);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?