九宫格使用C++穷举法实现,我目前的问题就是如何把1-9这个九个数字按照排列组合的方式分配到3*3
矩阵中去,不遗漏,不重复,这里的算法如何实现?
人气:283 ℃ 时间:2020-06-21 05:42:13
解答
九宫格标个号1-9个格
循环给1-9这9个数字取一个1-9的随机数
建一个长度9的数组做标记,每一个格被分配了之后就标记下,循环的时候重复了就重新给这个数分配.直到所有的9个数都被分配.
srand(time(0));
int nFlag[9]; //记录9个格是否已经被分配
int nLocation[9];//记录1-9个数的位置
memset(nFlag, 0, sizeof(int)*9);
memset(nLocation, 0, sizeof(int)*9);
for(int i = 0; i < 9; ++i)
{
nLocation[i] = rand()%10;
if(nFlag[ nLocation[i] ] == 1)
{
//如果此格被分配过则重新分配此数字位置.
i--;
}
else
{
//如果没有则分配
nFlag[i] = 1;
}
}
推荐
- 在每一个小九宫格中,分别填上1到9的数字,让整个大九宫格每一列、每一行的数字都
- 将3,5,-7,1,7,-3,9,-5,-1,这九个数字填入九宫格内,使得横、竖、斜三个数的和相等 急
- **3*2**7**
- 求九宫格独数答案(共3题)
- 数字1、2、3.9共9个数字,填入九宫格中,如何填法,得出结果都是15
- 红磷氧气燃烧实验中产生的五氧化二磷为什么不占气体体积呢
- 一个圆锥的底面周长是18.84cm,它的侧面积展开恰好是一个半圆形,求这个圆锥的表面积
- 鸡兔同笼,共有100个头,320支脚,那么,鸡和兔个有多少只?
猜你喜欢
- 什么是直除法?是不是例如1234/3456,用千位的1直接除以千位的3,得出一个相近的数?
- 用量筒,烧杯,水.小石子 测量小石子的密度?怎样做?
- 1已知直角三角形abc,角bac等于90度,ad垂直bc于d,ab=2ac,求ad比bc 2已知三角形abc,ef平行bc.ef交ab于e,交ac于f,且ef:bc等于2:3则ea:eb为多少?
- 已知线段AB,反向延长AB到点C,使AC=1/2AB.若点D是BC中点,CD=3cm,求AB、AD的长.(要求:正确画图给2分)
- The plane_______ (降落)at six this morning.Everything was OK.
- 用配方法解方程x2-4x-5=0.
- 金属元素M的相对原子质量为70,它在化合物中只有一种化合价.已知它的磷酸盐的相对分子质量为165,它的硫酸盐的相对分子质量为( ) A.等于166 B.等于236 C.等于428 D.不知化学式无法计算
- (+9二分之一)+(-3七分之三)+8二分之一+(+七分之三) 简便计算