///dfs时带返回值 回溯时与不带返回值的不一样,判断终止条件也不太一样
///判断终止条件及终止条件应该有哪些变化时,只需举一个正确终止时的情况去判断
int visit[99999];int ave;
int number[99999];int n,m;
bool dfs_square(int sum , int index , int cnt){if (sum == ave){cnt ++;if (cnt==3)return true;sum = 0;//搜索成功某一条边时,要初始化sum和indexindex = 0;}for (int i = index; i < m; ++i) {if (sum + number[i]>ave)break;if (!visit[i]){visit[i] = 1;if(dfs_square(sum + number[i],i+1,cnt))return true;visit[i] = 0;//注意,搜索失败,回溯}}return false;
}int square(){cin>>n;while (n--){cin >> m;int sum = 0;for (int i = 0;i<m;i++){cin>>number[i];sum += number[i];}if (sum%4)printf("no\n");else {memset(visit,0, sizeof(visit));sort(number,number + m);ave = sum / 4;if(dfs_square(0,0,0))printf("yes\n");elseprintf("no\n");}}return 0;
}

2362:Square 能否拼接为正方形 . DFS+回溯相关推荐

  1. DFS+回溯算法专题

    基础知识 回溯法是一种选优搜索法(试探法),被称为通用的解题方法,这种方法适用于解一些组合数相当大的问题.通过剪枝(约束+限界)可以大幅减少解决问题的计算量(搜索量). 深度优先搜索(Depth-Fi ...

  2. Leetcode一起攻克搜索(BFS,DFS,回溯,并查集)

    文章目录 BFS简介 DFS简介 回溯简介 并查集简介 DFS题目 690. 员工的重要性 1.dfs解法: 2.bfs算法 547.朋友圈 dfs解法 200.岛屿数量 dfs解法 417.太平洋大 ...

  3. HDU1016 Prime Ring Problem dfs+回溯

    点击打开链接 Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  4. LeetCode 980. 不同路径 III(DFS+回溯)

    1. 题目 在二维网格 grid 上,有 4 种类型的方格: 1 表示起始方格.且只有一个起始方格. 2 表示结束方格,且只有一个结束方格. 0 表示我们可以走过的空方格. -1 表示我们无法跨越的障 ...

  5. [DFS|回溯法] leetcode 17 电话号码的字母组合

    [DFS|回溯法] leetcode 17 电话号码的字母组合 1.题目 题目链接 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 ...

  6. PAT1087 All Roads Lead to Rome (30)(最短路径+dfs+回溯)

    题意: 有N个城市,M条无向边,从某个给定的起始城市出发,前往名为ROM的城市.每个城市(除了起始城市)都有一个点权(称为幸福值),和边权(每条边所需的花费).求从起点到ROM所需要的最少花费,并输出 ...

  7. 洛谷 P1219-八皇后(dfs回溯)

    题目描述 网址传送:https://www.luogu.com.cn/problem/P1219 八皇后问题描述:介是一个古老而著名的问题,是回溯算法的典型案例.该问题是国际西洋棋棋手马克斯·贝瑟尔于 ...

  8. 【DFS+回溯+字符串】【洛谷P1019】【单词接龙】

    传送门 /*[DFS+回溯+字符串][洛谷P1019][单词接龙]https://www.luogu.com.cn/problem/P1019题意:给你很多个单词 一个开头首字母 每个单词至多用2次 ...

  9. 定义一个名为Square的类表示正方形

    Java写一个Square类 (1)定义一个名为Square的类表示正方形,它有一个名为length的成员变量表示边长,一个带参数的构造方法,要求该类对象能够调用clone()方法进行克隆.覆盖父类的 ...

最新文章

  1. ArcGIS为面要素生成邻接矩阵
  2. android4.4.2fragment不显示,Android应用中使用Fragment组件的一些问题及解决方案总结...
  3. webpack学习之路(四)webpack-hot-middleware实现热更新
  4. 南师大计算机语言学,南师大(语言学,文字学,文献学专业备考建议)
  5. Service Mesh新成员:Consul 1.2
  6. 使用 jQuery Mobile 与 HTML5 开发 Web App (十八) —— HTML5 Web Workers
  7. 7-11便利店都脏成这样了,我的午饭还靠它
  8. php docker 化,如何配置一个 Docker 化持续集成的 PHP 开发环境(四)
  9. 中国队新主帅朱广沪印象
  10. 【安全系列】IPSEC ×××之安全基础篇
  11. feignclient注解使用_Spring Cloud Nacos的使用
  12. acm集训训练赛(二)D题【并查集】
  13. 正确重启计算机的方法,电脑不定时自动重启的处理方法
  14. python opencv二值化阈值图像分割
  15. java 文档比较功能_java 实现在线比较两个版本的Word文档的功能
  16. 小米air2se耳机只有一边有声音怎么办_几款两百元以内的耳机使用体验
  17. H 幻方变换(puzzle)(NYIST 2019年校赛)
  18. 关于fai值导入程序的思考
  19. 软件测试——linux基础
  20. 还敢搞黄色?4 个色情网站被一锅端,9 名福利姬被刑拘!

热门文章

  1. 前端学习(1966)vue之电商管理系统电商系统之获取参数列表
  2. 前端学习(1165):扩展运算符01
  3. 前端学习(491):script元素
  4. spring学习(3):获取bean对象
  5. 73 forward动作
  6. [Github项目推荐] 推荐三个助你更好利用Github的工具
  7. 程序员的数学笔记1--进制转换
  8. springboot启动过程_spring5/springboot2源码学习 -- spring boot 应用的启动过程
  9. cacti安装配置详解_MySQL实战001:8.0免安装版服务配置详解
  10. Kubernetes探索学习005--Kubernetes的Controller模型和ReplicaSet伸缩