1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

问题要用所有木棒恰好拼成四条等长边的正方形。设总长为 sum,若 sum % 4 != 0 必不可能;目标边长 target = sum / 4,若最大木棒 > target 同样不可能。将木棒按降序排序,优先放置长棒以尽早暴露冲突。

用位掩码 + 记忆化搜索描述状态:

  • mask 表示哪些木棒已被使用(n ≤ 20,可用一个 20 位二进制数表示);
  • curr 表示当前正在填的这一条边的已用长度(0 ≤ curr < target)。 从 (mask, curr) 出发,枚举所有未使用的木棒 x,若 curr + x ≤ target 则递归到新状态 (mask | (1<<i), (curr + x) % target);当 mask 覆盖全部木棒时,若 curr == 0 说明刚好收尾(四边都被完整填充),返回可行。

P3765.第2题-时间边框

    2000ms Tried: 22 Accepted: 3 Difficulty: 5
    算法与标签>DFS

题目内容

在一个被遗忘的古代文明中,流传着一个传说:只有能拼出“时间之框”的人才能打开通往未来的大门。

这个“时间之框”真实是一个正方形的边框,由若干根神秘木棒首尾相连组成,每一根都必须使用一次目仅用一次。

你是一位年轻的探验者,在遗迹深处找到了一盒装满木棒的盒子,并在石壁上看到了制作“时间之框”的 规则:

“若你能用所有木棒拼成一个完美的正方形,则大门将为你开启。"

现在你要判断每组木棒是否能满足条——拼成一个正方形,不能丢弃任何一根木棒。

简而言之,题目是:给定若干根长度不同的木棒,请判断是否可以使用所有木棒恰好拼成一个正方形。

注意:

所有木棒必须全部使用。

正方形的四条边长度必须完全相同。

木棒不可折断或重叠。

输入描述

输入第一行包含一个正整数 TTT ,表示测试数据的组数。

接下来 TTT 行,每行第一个数字是 nnn ,代表有 nnn 根木棒,随后有 nnn 个数字 aia_iai​ ,分别代表 nnn 根木棒的长度。

输出描述

一共输出 TTT 行答案。

对于每一组测试数据,如果所给木棒可以组合成一个正方形,输出"yesyesyes",否则输出 "nonono”。

样例1

输入

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

输出

yes
no
yes

提示

对于所有数据,1≤T≤10,4≤n≤20,1≤ai≤50001≤T≤10,4≤n≤20,1≤a_i≤50001≤T≤10,4≤n≤20,1≤ai​≤5000 。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 30ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?