该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
知道的提问http://zhidao.baidu.com/question/107297331.html
#include
using namespace std;
long total=0;
long tree_j[7][5];
bool chk(long cl,long ci,long cj)
{
long cb[7];
memset(cb,0,sizeof(cb));
for (long bl=1;bl
{
for (long bi=1;bi<=4;bi++)
cb[tree_j[bl][bi]]++;
}
return cb[cj]<4;
}
void print()
{
bool map[7][7];//一个
memset(map,false,sizeof(map));
long oi,oj;
for (oi=1;oi<=6;oi++)
for (oj=1;oj<=4;oj++)
map[oi][tree_j[oi][oj]]=true;
for (oi=1;oi<=6;oi++)
{
for (oj=1;oj<=6;oj++)
cout<
cout <
}
cout <
}
void tryy(long tl,long ti)
{
if (tl>6){
print();
total++;
return;
}
long kl;
for (kl=tree_j[tl][ti-1]+1;kl<=ti+2;kl++)
{
if (chk(tl,ti,kl))
{
tree_j[tl][ti]=kl;
if (ti<4)
tryy(tl,ti+1);
else
tryy(tl+1,1);
}
}
}
int main()
{
memset(tree_j,0,sizeof(tree_j));
tryy(1,1);
cout<
return 0;
}
题目是:在6*6的方格地盘,种植24棵树,使得每行,每列都有4棵树;
求所有可能种植方案和方案总数。
麻烦给每句都注释一下是什么意思 这是答案 看不懂啊~
提