文章目录

  • 1:题目
  • 2:代码实现

1:题目

给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组。返回 A 的正方形排列的数目。两个排列 A1 和 A2 不同的充要条件是存在某个索引 i,使得 A1[i]≠A2[i]。输入格式
第一行包含一个整数 n,表示数组 A 的长度。第二行包含 n 个整数 A[i]。输出格式
一个整数,表示 A 的正方形排列的数目。数据范围
1≤n≤12,
0≤A[i]≤109。输入样例:
3
1 17 8
输出样例:
2
样例解释
[1,8,17] 和 [17,8,1] 都是有效的排列。

2:代码实现

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>using namespace std;const int N = 15;int n;
int w[N];
bool st[N];
int ans;bool check(int x)
{int r = sqrt(x);return r * r == x;
}void dfs(int u, int last)
{if (u == n) ans ++ ;else{for (int i = 0; i < n; i ++ ){if (st[i]) continue;  // 被用过了if (i && !st[i - 1] && w[i] == w[i - 1])continue;if (!check(last + w[i])) continue;st[i] = true;dfs(u + 1, w[i]);st[i] = false;}}
}int main()
{cin >> n;for (int i = 0; i < n; i ++ ) cin >> w[i];sort(w, w + n);for (int i = 0; i < n; i ++ )if (!i || w[i] != w[i - 1]){st[i] = true;dfs(1, w[i]);st[i] = false;}cout << ans << endl;return 0;
}

正方形数组的数目(DAY 81)相关推荐

  1. [Swift]LeetCode996. 正方形数组的数目 | Number of Squareful Arrays

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  2. LeetCode 996. 正方形数组的数目(回溯+剪枝)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组. 返回 A 的正方形排列的数目.两个排列 A1 和 A2 ...

  3. 【快乐水题】1725. 可以形成最大正方形的矩形数目

    原题: 力扣链接:1725. 可以形成最大正方形的矩形数目 题目简述: 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li ...

  4. 1725.可以形成最大正方形的矩形数目

    题目 1725.可以形成最大正方形的矩形数目 题目大意 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li .宽度为 wi ...

  5. `算法竞赛题解` LeetCode.6115 统计理想数组的数目

    题目链接 题目描述 给你两个整数 n 和 maxValue ,用于描述一个 理想数组 . 对于下标从 0 开始.长度为 n 的整数数组 arr ,如果满足以下条件,则认为该数组是一个 理想数组 : 每 ...

  6. 1725.可以形成最大正方形的矩阵数目

    难度:简单 目录 一.问题描述 二.思路 1.解题思路 三.解题 1.代码实现 2.时间复杂度 and 空间复杂度 一.问题描述 这里直接采用LeetCode上面的描述. 给你一个数组 rectang ...

  7. 矩形内部的正方形及长方形数目

    这道题涉及的数论知识是获取方形中的正方形和长方形,方法很巧妙 P2241 统计方形(数据加强版) #include<bits/stdc++.h> using namespace std;i ...

  8. leetcode算法题--可以形成最大正方形的矩形数目

    class Solution {public:int countGoodRectangles(vector<vector<int>>& rectangles) {int ...

  9. leetcode每日一题1725. 可以形成最大正方形的矩形数目 哈希表存储 到 贪心遍历 优化~

最新文章

  1. 超详细!使用OpenCV深度学习模块在图像分类下的应用实践
  2. php 抓取页面图片,php 抓取网页内容与图片的方法
  3. 使用Jmeter 创建Post请求
  4. WEB三大攻击之—XSS攻击与防护
  5. mysql 主键索引如何创建_SQL创建索引、主键
  6. neo4j 节点与关系
  7. Python 函数知识
  8. 【每日一读】EMNLP2020:如何提高事件检测(ED)模型的鲁棒性和泛化能力?
  9. led屏背后线路安装图解_弱电工程LED屏安装工程施工方案
  10. html页面显示dcm文件,基于HTML5标准的Dicom图像显示.doc
  11. SpringBoot整合WebSocket案例
  12. 【ProcessOn】在线流程图、思维导图、原型图、UML图制作工具ProcessOn使用
  13. 笔记本怎样连接无线网络
  14. 在努力的途中 忤逆满路荆棘
  15. 正交db小波 图像处理 matlab,基于matlab小波工具箱的数字图像处理及小波分析
  16. 关于计算机这一块儿的认识
  17. Snipaste截图工具
  18. 12v电量显示制作方法_由分立器件设计的汽车12V电池电量指示器(上) | 电子懒人的基础硬件电路图讲解...
  19. 2018东北四省赛 Store The Matrix (矩阵)
  20. Android水彩滤镜,Reactor Player水彩效果滤镜

热门文章

  1. 在线TSV转SQL工具
  2. Unity日志输出储存工具
  3. Android换肤功能实现与换肤框架QSkinLoader使用方式介绍
  4. 好用的记事本陈列 tree/f
  5. 微信小程序:uni-app云开发的网盘助手
  6. VUE 项目图标全部替换成阿里巴巴矢量图
  7. 帮我写一篇向女孩子表白的情书
  8. 一百行写一个2048
  9. 中国IT传奇人物柳传志--语录大全
  10. Xposed 模块编写