SSL-练习题目:种树 题解

种树(normal)

Time Limit:1000MS  Memory Limit:65536K
Total Submit:213 Accepted:114

Description

  在6*6的方格地盘中,种植24颗树,使每行、每列都有4颗树。
  求出所有可能的种植方案总数。
  种植方案的说明:输出一个6*6的矩阵,种树的方格用“*”表示,没种树的用“.”表示。
  如下是一种方案((样例仅说明格式,并不代表结果)
****..
..****
**..**
..****
****..
**..**
 

Input

Output

一个数即总数

Sample Input

 

Sample Output

//以下表示其中的10种,不需要输出,输出总数即可
Case 1:
****..
****..
**..**
**..**
..****
..****
Case 2:
****..
****..
**..**
*.*.**
.*.***
..****
Case 3:
****..
****..
**..**
*.*.**
..****
.*.***
Case 4:
****..
****..
**..**
*..***
.**.**
..****
Case 5:
****..
****..
**..**
*..***
..****
.**.**
Case 6:
****..
****..
**..**
.**.**
*..***
..****
Case 7:
****..
****..
**..**
.**.**
..****
*..***
Case 8:
****..
****..
**..**
.*.***
*.*.**
..****
Case 9:
****..
****..
**..**
.*.***
..****
*.*.**
Case 10:
****..
****..
**..**
..****
**..**
..****

Source

elba

#include#includeusing namespace std;
int s,l[7];
void trees(int x,int k1,int k2)
{
if (l[k1]>1 || l[k2]>1) return;//判断该列还可不可以插入空格
if (x==6)//退出条件
{
s++;
return; 
}
l[k1]++;
l[k2]++;//该列空格的数量加1
for (int i=1;i<=5;i++)for (int j=i+1;j<=6;j++)trees(x+1,i,j);
l[k1]--;
l[k2]--;//回溯
}
int main()
{ 
for (int i=1;i<=5;i++)for (int j=i+1;j<=6;j++)trees(1,i,j);
cout<<s;
}

题解:

本题有两种解法,第一种是一个一个格子决定种还是不种,可是这样时间会比较久,所以我就想到了用八皇后的做法,

for (int i=1;i<=5;i++)
  for (int j=i+1;j<=6;j++)
    trees(x+1,i,j);

首先一行的树要4颗,这样循环会比较麻烦,那么就可以循环空位的地方,x表示行数,i和j表示空位的位置。然后用变量L表示该列有多少个空位,最多2个。然后当列数到了6行之后就可以退出累加了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哈希表的key的类型(传值与传引用)

放入哈希表的东西&#xff0c;如果是基础类型 内部按值传递&#xff0c;内存占用就是这个东西的大小. 放入哈希表的东西&#xff0c;如果不是基础类型 内部按引用传递&#xff0c;内存占用是这个东西内存地

《金色梦乡》金句摘抄(七)

System.out.println("《金色梦乡》"); System.out.println("小说类型的书就是比散文类型的书好看"); System.out.println("通俗易懂");轰叔的笑容中带着经验丰富的匠人才有的自信与骄傲&#xff0c;让青柳雅春佩服不已。但他的动作却只是用一根食…

来腾讯云开发者实验室 学习.NET

腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力&#xff1a; 零门槛扫码即可免费领取实验机器&#xff0c;支持使用自有机器参与&#xff0c;实验完成后支持保留实验成果&#xff1b; 在线WEBIDE支持shell命令操作&#xff0c;支持机器文件…

JavaFX官方教程(六)之带有JavaFX CSS的花式表单

翻译自 带有JavaFX CSS的花式表单 本教程通过添加级联样式表&#xff08;CSS&#xff09;使您的JavaFX应用程序看起来很有吸引力。您开发设计&#xff0c;创建.css文件并应用新样式。 在本教程中&#xff0c;您将获取一个使用标签&#xff0c;按钮和背景颜色的默认样式的登录…

搭建ssh框架的步骤

1.创建web项目 2.导入ssh 所需要的多有jar包&#xff0c;到web-inf下面的lib里面 3.将导入过来的jar包都build–path一下 4.切换到myeclipse database视图中&#xff0c;添加链接数据库的链接 5.新建一个数据库连接&#xff1a; 常用数据库连接字符串&#xff1a;https://blog.…

JAM的计数法

经典的题目了&#xff0c;自己想了个新方法 方法&#xff1a;先从低位往高位找到一个可以加的位数&#xff0c;然后把后面的数变为前面那个数加1 建议先从主程序开始看。本人蒟蒻&#xff0c;不好请原谅 方法&#xff1a;先从低位往高位找到一个可以加的位数&#xff0c;然后把…

JavaFX官方教程(七)之使用FXML创建用户界面

翻译自 使用FXML创建用户界面 本教程展示了使用JavaFX FXML的好处&#xff0c;JavaFX FXML是一种基于XML的语言&#xff0c;它提供了构建与代码的应用程序逻辑分开的用户界面的结构。 如果您从一开始就开始使用本文档&#xff0c;那么您已经了解了如何使用JavaFX创建登录应用…

块元素与行内元素转化(display属性)

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><style>.div1{width: 200px;height: 200px;background-color: lightyellow;border: 1px solid lightcoral;margin: 0px auto;}.s1{/*行内元素设置宽和高…

DllImport 自动选择x64或x86 dll

前言 标题不知道怎么确切地命名&#xff0c;在.net的托管世界里&#xff0c;有时不得不使用c的某个动态库&#xff0c;比如ocr、opencv等&#xff0c;如果幸运&#xff0c;有前人已经包装出.net版本&#xff0c;但有些不非常流行的库&#xff0c;只能自己使用pinvoke或c cli包…

《金色梦乡》金句摘抄(八)

System.out.println("《金色梦乡》"); System.out.println("小说类型的书就是比散文类型的书好看"); System.out.println("通俗易懂"); System.out.println("这周能看完");他转身背对着安保探头&#xff0c;有种被看门人或看门狗盯上了…

JavaFX官方教程(八)之JavaFX中的动画和视觉效果

翻译自 JavaFX中的动画和视觉效果 您可以使用JavaFX快速开发具有丰富用户体验的应用程序。在本入门教程中&#xff0c;您将学习如何使用非常少的编码创建动画对象并获得复杂的效果。 图7-1显示了要创建的应用程序。 图7-1彩色圆圈应用 图7-2显示了该ColorfulCircles应用程序…

《金色梦乡》金句摘抄(九)

System.out.println("《金色梦乡》"); System.out.println("小说类型的书就是比散文类型的书好看"); System.out.println("通俗易懂"); System.out.println("这周能看完");他在观察&#xff0c;就像饲养员为了掌握动物的情况和习性而观…

广搜(初见)

以下是广搜水题 题意&#xff1a;输入一个n*n的迷宫&#xff0c;输入从起点到终点的最短路 输入&#xff1a; 12 //迷宫大小 2 9 11 8 //起点和终点 1 1 1 1 1 1 1 1 1 1 1 1 //邻接矩阵&#xff0c;0表示通&#xff0c;1表示不通 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 1 1 0 …

.Net Core 图片文件上传下载

当下.Net Core项目可是如雨后春笋一般发展起来&#xff0c;作为.Net大军中的一员&#xff0c;我热忱地拥抱了.Net Core并且积极使用其进行业务的开发&#xff0c;我们先介绍下.Net Core项目下实现文件上传下载接口。 一、开发环境 毋庸置疑&#xff0c;宇宙第一IDE VisualStu…

JavaFX官方教程(九)之转换

翻译自 Transformations Overview 本章介绍JavaFX中支持的转换。 所有转换都位于javafx.scene.transform包中&#xff0c;并且是类的子Transform类。 介绍转换 变换根据某些参数改变坐标系中图形对象的位置。JavaFX支持以下类型的转换&#xff1a; 翻译 回转 缩放 剪毛 …

《金色梦乡》金句摘抄(十)

System.out.println("《金色梦乡》"); System.out.println("小说类型的书就是比散文类型的书好看"); System.out.println("通俗易懂"); System.out.println("这周能看完");“面对遭受迫害的人&#xff0c;有人选择拯救&#xff0c;有人…

stream流把list转为map

1.对象中的属性转map 通过Collectors.toMap list.stream().collect(Collectors.toMap(Person::getId,Person::getName)); 2.收集对象本身 list.stream().collect(Collectors.toMap(Person::getId,list->list)

广搜(练习4题)

几道例题还比较简单&#xff0c;练习就卡了比较长的时间了(。_。) 所以我会写一下解题思路了(๑ŐдŐ) 还有博客抽风所以代码里会有一些奇奇怪怪的东西&#xff0c;无视就好了qwq。 这几道题我就按各人认为的难易程度来排序吧QAQ。 第一题. 题意&#xff1a;输入一个迷宫&…