洛谷 P2383 狗哥玩木棒
题目背景
狗哥又趁着语文课干些无聊的事了...
题目描述
现给出一些木棒长度,那么狗哥能否用给出的木棒(木棒全用完)组成一个正方形呢?
输入输出格式
输入格式:
输入文件中的第一行是一个整数n表示测试的组数,接下来n行表示每组的测试数据。 每行的第一个数为m(4<=m<=20),接下来m个数ai(1<=ai<=1000)表示木棒的长度。
输出格式:
对于每组测试数据,如果可以组成正方形输出“yes”,否则输出“no”。
输入输出样例
3 4 1 1 1 1 5 10 20 30 40 50 8 1 7 2 6 4 4 3 5
yes no yes
说明
狗哥快抓狂了
dfs
屠龙宝刀点击就送
#include <algorithm> #include <cstring> #include <cctype> #include <cstdio> using namespace std; inline void Read(int &x) {register char ch=getchar();for(x=0;!isdigit(ch);ch=getchar());for(;isdigit(ch);x=x*10+ch-'0',ch=getchar()); } bool flag,use[21]; int n,m,a[21],sum; void dfs(int now,int num,int z) {if(flag) return;if(num==4&&z==m) {flag=1;return;} for(int i=1;i<=m;++i){if(!use[i]&&now+a[i]<=sum){use[i]=1;(now+a[i])%sum==0?dfs((now+a[i])%sum,num+1,z+1):dfs((now+a[i])%sum,num,z+1);use[i]=0;}} } int main() {Read(n);for(;n--;){sum=0;flag=0;Read(m);for(int i=1;i<=m;++i) Read(a[i]),sum+=a[i];if(sum%4) {printf("no\n");continue;}sort(a+1,a+1+m);sum/=4;dfs(0,1,1);if(flag) printf("yes\n");else printf("no\n");}return 0; }
转载于:https://www.cnblogs.com/ruojisun/p/7475365.html
洛谷 P2383 狗哥玩木棒相关推荐
- 洛谷P2380 狗哥采矿
P2380 狗哥采矿 题目背景 又是一节平静的语文课 狗哥闲来无事,出来了这么一道题 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是 ...
- 洛谷P2380 狗哥采矿【DP】【绿】
Date:2022.03.25 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少.最北边有bloggium的收集站,最西边有 ye ...
- 洛谷[P3799 妖梦拼木棒] {暴力枚举} 奋斗的珂珂~
洛谷[P3799 妖梦拼木棒] {暴力枚举} 题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 n 根木棒,现在从中选 4 根,想要组成一个正三角形,问有几种选法? 答案 ...
- 洛谷 P3799 妖梦拼木棒【枚举/组合数学】
题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 nnn 根木棒,现在从中选 444 根,想要组成一个正三角形,问有几种选法? 答案对 109+710^9+7109+7 ...
- 洛谷P3797 妖梦斩木棒
题目背景 妖梦是住在白玉楼的半人半灵,拥有使用剑术程度的能力. 题目描述 有一天,妖梦正在练习剑术.地面上摆放了一支非常长的木棒,妖梦把它们切成了等长的n段.现在这个木棒可以看做由三种小段构成,中间的 ...
- 洛谷-P3799 妖梦拼木棒
题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有 nn 根木棒,现在从中选 44 根,想要组成一个正三角形,问有几种选法? 答案对 10^9+7109+7 取模. 输入格 ...
- 洛谷P3799 妖梦拼木棒
题目链接 题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有n根木棒,现在从中选4根,想要组成一个正三角形,问有几种选法? 输入格式: 第一行一个整数n 第二行n个整数,a ...
- 洛谷 P3797 妖梦斩木棒
妖梦是住在白玉楼的半人半灵,拥有使用剑术程度的能力. 题目描述 有一天,妖梦正在练习剑术.地面上摆放了一支非常长的木棒,妖梦把它们切成了等长的n段.现在这个木棒可以看做由三种小段构成,中间的n-2段都 ...
- 洛谷 P3797 妖梦斩木棒 解题报告
P3797 妖梦斩木棒 妖梦是住在白玉楼的半人半灵,拥有使用剑术程度的能力. 题目描述 有一天,妖梦正在练习剑术.地面上摆放了一支非常长的木棒,妖梦把它们切成了等长的\(n\)段.现在这个木棒可以看做 ...
- 洛谷P4839 P哥的桶 线段树+线性基
传送门 题意:N个操作,第K个桶放一个X,查询L到R区间的桶任意数的异或最大值. P哥时不时地会找新女朋友,并把新找的女朋友丢进某个桶里面.我们用 1 k x 来表示P哥找了一个颜值为x的女朋友,并且 ...
最新文章
- php imagecopy 用法,php使用imagecopymerge()函数创建半透明水印
- 使用R构建Xgboost模型并绘制ROC曲线
- 转载:JMS-ActiveMQ浅析
- python Tkinter学习笔记 menu控件 02
- leetcode算法题--有效的括号
- C:#define用法
- mysql sqlite 分页查询_php基于SQLite实现的分页功能示例
- java正则表达式判断手机号_正则表达式学习之简单手机号和邮箱练习
- Adroid学习之 从源码角度分析-禁止使用回退按钮方案
- 对session的理解
- Qt 图形特效(Graphics Effect)介绍
- Java LinkedList getFirst()方法与示例
- SQL Server修改标识列方法 如自增列的批量化修改
- 「leetcode」513.找树左下角的值(详解)
- 面试Python时,面试官最喜欢问这些技术问题
- Flink流处理框架总结
- c#程序设计实训报告心得体会_C#实训总结报告
- php百度蜘蛛劫持,PHP模拟百度蜘蛛,伪造IP爬行网站,附源代码
- 没有计算的推理和基于推理的计算 逻辑与算法之五
- 荣耀linux电脑开机后黑屏,开机黑屏进不了系统,教您解决电脑开机黑屏进不了系统...
热门文章
- 四张照片合成一张怎么弄_教你5种照片创意手工,简单好看实用
- C# list删除 另外list里面的元素_python学习笔记第三课:List(列表)
- python 日志函数参数_Python之配置日志模块logging
- MYSQL5.5.48编译安装
- 老男孩教育每日一题-2017年4月10日-find命令题目
- HAXM 6.0.5显示不兼容Windows
- 用PHP做服务器接口客户端用http协议POST访问安全性一般怎么做
- 【转】JSch - Java实现的SFTP(文件下载详解篇)
- C++ 运算符重载四(自定义数组类)
- ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL