POJ2362 Square(dfs)

Anroid8.1 强制修改系统可以adb remount 在Android6.0 (Android M)user版本上,发现使用adb root后再adb remount系统之后会提示这样信息:remount of /system failed: Read-only file system,这是不能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system,因为系统本身在user就不支持可写操作,我们就不能adb push来调试apk,如果想调试apk就需要修改system、vendor权限问题。 如下现象: C:\Use 阅读详情

Description

Given a set of sticks of various lengths, is it possible to join them end-to-end to form a square?

Input

The first line of input contains N, the number of test cases. Each test case begins with an integer 4 <= M <= 20, the number of sticks. M integers follow; each gives the length of a stick - an integer between 1 and 10,000.

Output

For each case, output a line containing "yes" if is is possible to form a square; otherwise output "no".

Sample Input

3
4 1 1 1 1
5 10 20 30 40 50
8 1 7 2 6 4 4 3 5

Sample Output

yes
no
yes


题意:

问给出的棍子可不可以凑成一个正方形


Note:

三处剪纸:  1.因为是正方形,棍子之和需整除4.  

  2.最短的木棒要比棍子平局数大。 

  3.dfs判断条件时只要三根棍子拼好即可。


AC代码:


#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
using namespace std;
const int maxn = 30;
int n, side, stick[maxn];
bool vis[maxn];
bool cmp(int a, int b)
{
	return a > b;
}
bool dfs(int num, int len, int s)
{
	if(num == 3) return true;
	for(int i = s; i < n; ++i) {
		if(vis[i]) continue;
		vis[i] = true;
		if(len + stick[i] < side) {
			if(dfs(num, len + stick[i], i)) return true;
		}
		else if(len + stick[i] == side) {
			if(dfs(num + 1, 0, 0)) return true;
		}
		vis[i] = false;
	}
	return false;
}
int main(int argc, char const *argv[])
{
	int t;
	scanf("%d", &t);
	while(t--) {
		memset(stick, 0, sizeof(stick));
		memset(vis, false, sizeof(vis));
		int sum = 0;
		scanf("%d", &n);
		for(int i = 0; i < n; ++i) {
			scanf("%d", &stick[i]);
			sum += stick[i];
		}
		if(n < 4 || sum % 4 != 0) {
			printf("no\n");
			continue;
		}
		sort(stick, stick + n, cmp);
		side = sum / 4;
		if(side < stick[0]) {
			printf("no\n");
			continue;
		}
		if(dfs(0, 0, 0)) printf("yes\n");
		else printf("no\n");
	}
	return 0;
}


vue3 - 最新详细实现高德地图绘制动态热力图详细教程,在某区域或城市地图上做“热力图层“展示人流量、旅游人口密度、热量图、全国地区地理热力图,利用颜色的深浅表示密度或强度等场景(详细示例代码教程) vue3,nuxt3,高德地图,热力图,绘制热力图层,人流量,vue3使用高德地图实现某个区域热力图,vue3高德地图api加载热力图及关闭,接收热力图数据并渲染热力图,关掉热力图,Vue使用高德API制作热力图,热力图加载不出来,电子围栏围住热力图,vue3中使用高德地图渲染热力图组件,高德地图使用热力图详细教程,报错,卡顿,出不来怎么办,无法关闭,怎么解决这个问题,出错,城市名称,城市某个街道,城区,省份,市区,县城,乡镇,村,各省份的热力图,交通流量,人口流量,密度,旅游出行,人口数量,颜色介绍,深浅 阅读详情

相关推荐

QLIB使用tushare更新每日行情

0. 介绍 qlib每日数据的源是yahoo,更新速度较慢并且不稳定。tushare每日行情是免费接口,速度较快。 1. 获取行情数据,保存为csv格式。 def GetDataFromTushare(self, today, fpath): pro = ts.pro_api() df = pro.daily(trade_date=today) for index, row in df.iterrows(): code = row['ts_code']

weixin_44177216的博客 2897

经典搜索 剪枝 hdu 1518 Given a set of sticks of various lengths, is it possible to join them end-to-end to...

主要是剪枝:分为总体和枝节 总体:sum%4!=0,max<sum/4 枝节:在于dfs的参数设置和条件判断,动态的判断是否进行 参考代码(参考牛人的): #include <stdio.h> #include <stdlib.h> #include <string.h> int a[25],vist[25],m,ave,flag;...

weixin_30276935的博客 472

基于稀疏表示字典学习的图像超分辨率-杨建超论文解析

文章:《Image Super-Resolution via Sparse Representation》 作者:杨建超 信号稀疏的定义: 令字典D的原子个数M,信号维度为N,则有以下三种关系: M = N时,D为完备的; M > N时,D为冗余的; M>>N时, D为过完备的。 图解如下: 借鉴了压缩感知的思想,通过对大量低分辨率图像和高分辨...

ycc18829026593的博客 7637

HDOJ 1518 Square(DFS 深搜)

题目 Square Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3911    Accepted Submission(s): 1302 Problem Description Given a set of s

ferry9303的专栏 3763

在 Ubuntu 22.04 上配置 SonarQube 与 CI/CD 流水线实现自动化代码审查

本文详细介绍了在Ubuntu 22.04系统上配置SonarQube并与CI/CD流水线集成的完整流程,实现自动化代码审查。从环境准备、数据库配置到核心参数调优,再到与Jenkins和GitHub Actions的深度集成,提供了实战技巧和性能优化建议,帮助团队提升代码质量监控效率。

weixin_28829325的博客 259

cosi-corr操作详细步骤

cosi-corr是一个可以加载到ENVI的软件包,由加利福尼亚理工学院的François Ayoub,  Sébastien Leprince,  and Lionel Keene开发,并且提供源代码,该软件受到了NSF的资助。软件的主要功能是可以满足各种影响的正射校正和影像配准。 针对下载下来的软件包参考《cosi-corr_guide.pdf》,进行配置使用具体详细过程如下: (本机环境

u013299471的专栏 1万+

POJ2362《Square》题解

Description Given a set of sticks of various lengths, is it possible to join them end-to-end to form a square? Input The first line of input contains N, the number of test cases. Each test case

Dante__Alighieri的专栏 1119

RK3588开发板量产前必做:24小时DDR压力测试到底在测什么?(附ArmSoM-W3测试脚本解析)

本文深入解析RK3588开发板量产前的24小时DDR压力测试,揭示其核心价值与技术原理。通过memtester、stressapptest和变频测试的组合使用,全面验证DDR内存稳定性。特别介绍ArmSoM-W3测试脚本的创新设计,包括并行测试架构和异常熔断机制,为开发者提供可靠的量产测试方案。

weixin_30325487的博客 454

【LDU】2017级课后练习题#2

A - 变形课  http://acm.hdu.edu.cn/showproblem.php?pid=1181 Problem Description 呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是

Z_sea的博客 731

告别手动拍照!用Python+JAKA机械臂+D455相机实现全自动手眼标定(附完整代码)

本文详细介绍了如何利用Python脚本实现JAKA机械臂与Intel RealSense D455相机的全自动手眼标定流程,提供从硬件配置到代码实现的完整解决方案。通过自动化标定,显著提升工业自动化中的精度和效率,适用于机器人视觉领域的二次开发需求。

weixin_30555125的博客 521

全球最大光伏电池缺陷异常检测数据集PVELAD【发布】

下载地址 1:GitHub - binyisu/PVEL-AD 下载地址 2:http://aihebut.com/col.jsp?id=118 下载地址 3:NAVEDownload 竞赛测试系统:Photovoltaic cell anomaly detection | Kaggle 一、简介 PVEL-AD 数据集又叫做EL2021数据集是用于对光伏电池异常缺陷检测方法进行基准测试的数据集,重点是光伏电池工业检测。PVEL-AD包含 36,543 张具有各种内部缺陷和异构背...

苏打水的杯子的博客 2万+

poj2362 Square

Description Given a set of sticks of various lengths, is it possible to join them end-to-end to form a square? Input The first line of input contains N, the number of test cases. E...

weixin_30485379的博客 186

msfvenom制作windows/linux/android/ios木马

msfvenom选项如下 -p, --payload<payload> 指定 payload(攻击荷载)。如果使用自定义payload,请使用'-'或者stdin指定。 -l, --list [module_typel列出指定模块的所有可用资源。模块类型包括:payloads, encoders, nops, all -n, --nopsled <length>为payload预先指定一个NOP滑动长度。 -f, --format <format>指定输出格式(使

Cwillchris的博客 2733

【POJ】2362 Square(DFS)

【POJ】2362 Square(DFS) 如果木棍长度总和不是4的倍数,直接排除,不然长度和/=4,如果能dfs构成三条边,就能构成正方形。

xuziling_的博客 277

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

POJ 2362 Square(DFS回溯构造)

POJ2362 Square(DFS回溯构造) http://poj.org/problem?id=2362 题意:给你M根长度可能不同的棍子,问你用着M根棍子能否拼成一个正方形. 分析:首先将M根棍子的总长sum求出,sum%4必须==0且任意一个棍子的长度        用vis[i]数组表示当前第i根棍子是否被使用了.        然后用dfs来判断能否构成正方形的三边即可.其中

code 2514

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

POJ 2362 Square(DFS+剪枝)

POJ 2362 Square Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 27083 Accepted: 9158 Description Given a set of sticks of various lengths, is it possible to join them end-to-end...

ZQYnn's blog 396

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

DFS POJ 2362 Square

题目传送门 1 /* 2 DFS:问能否用小棍子组成一个正方形 3 剪枝有3:长的不灵活,先考虑;若根本构不成正方形,直接no;若第一根比边长长,no 4 这题是POJ_1011的精简版:) 5 */ 6 #include <cstdio> 7 #include <iostream> 8 #incl...

weixin_30363509的博客 76

【DFS + 剪枝】POJ 2362 Square

这段时间要沉迷刷题一段时间了,就让优快云陪我一起吧! 一、题目大意 这个题目的大致意思就是给定多个长度为M的数组,每个数组代表一系列的木棍,每个数组元素代表木棍长度,求问每个数组是否能够首尾相接,连接成一个正方形。如果可以的话输出yes,否则输出no 二、题目思路以及AC代码 一开始我以为这题就是简单的dfs,dfs的思路也很简单,就是首先根据输入数组求解出如果能合成正方形的边长,然后分4次...

Johnson的博客 238

POJ2362 Square DFS

POJ2362 Square DFS

htrdchh的博客 192

POJ 2362 Square dfs

来源:http://poj.org/problem?id=2362 题意:给你一些木棍,判断能不能用这些木棍围城一个正方形。注意是所有的木棍都要用到,且每个木棍只能用一次。 思路:数据范围不大,n是小于20的,所以明显可以用dfs。主要有三个剪枝的地方,1:所有木棍的长度和必须为4的倍数,否则的话,肯定围不成正方形;2:设正方形的变长为side,则所有木棍中的最大长度maxlen必须小于等于s

1327

POJ 2362 HDOJ 1518 Square DFS剪枝

Square Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 18949   Accepted: 6567 Description Given a set of sticks of various lengths, is it possible to join th

kdwycz的刷题空间 861

POJ 2362 Square DFS

传送门:http://poj.org/problem?id=2362 题目大意: 给一些不同长度的棍棒,问是否可能组成正方形。 学习了写得很好的dfs 赶紧去玩博饼了。。。。。晚上三个地方有约。。。。。T T分身乏术啊。。。。 #include #include using namespace std; const int MAXN=22; int side[MAXN

细语呢喃 795

poj2362 Square DFS剪枝

Square Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 22779   Accepted: 7894 Description Given a set of sticks of various lengths, is it possible to join

EventQueue的博客 570

POJ 2362 Square 经典DFS回溯

http://poj.org/problem?id=2362

qqcyclone的专栏 636
上一篇: HDOJ1597 find the nth digit(二分)
下一篇: POJ1011 Sticks(dfs)
GKHack
博客等级 码龄11年 48粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值