正方形数组的数目(DAY 81)
文章目录
- 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)相关推荐
- [Swift]LeetCode996. 正方形数组的数目 | Number of Squareful Arrays
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- LeetCode 996. 正方形数组的数目(回溯+剪枝)
文章目录 1. 题目 2. 解题 1. 题目 给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组. 返回 A 的正方形排列的数目.两个排列 A1 和 A2 ...
- 【快乐水题】1725. 可以形成最大正方形的矩形数目
原题: 力扣链接:1725. 可以形成最大正方形的矩形数目 题目简述: 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li ...
- 1725.可以形成最大正方形的矩形数目
题目 1725.可以形成最大正方形的矩形数目 题目大意 给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li .宽度为 wi ...
- `算法竞赛题解` LeetCode.6115 统计理想数组的数目
题目链接 题目描述 给你两个整数 n 和 maxValue ,用于描述一个 理想数组 . 对于下标从 0 开始.长度为 n 的整数数组 arr ,如果满足以下条件,则认为该数组是一个 理想数组 : 每 ...
- 1725.可以形成最大正方形的矩阵数目
难度:简单 目录 一.问题描述 二.思路 1.解题思路 三.解题 1.代码实现 2.时间复杂度 and 空间复杂度 一.问题描述 这里直接采用LeetCode上面的描述. 给你一个数组 rectang ...
- 矩形内部的正方形及长方形数目
这道题涉及的数论知识是获取方形中的正方形和长方形,方法很巧妙 P2241 统计方形(数据加强版) #include<bits/stdc++.h> using namespace std;i ...
- leetcode算法题--可以形成最大正方形的矩形数目
class Solution {public:int countGoodRectangles(vector<vector<int>>& rectangles) {int ...
- leetcode每日一题1725. 可以形成最大正方形的矩形数目 哈希表存储 到 贪心遍历 优化~
最新文章
- 超详细!使用OpenCV深度学习模块在图像分类下的应用实践
- php 抓取页面图片,php 抓取网页内容与图片的方法
- 使用Jmeter 创建Post请求
- WEB三大攻击之—XSS攻击与防护
- mysql 主键索引如何创建_SQL创建索引、主键
- neo4j 节点与关系
- Python 函数知识
- 【每日一读】EMNLP2020:如何提高事件检测(ED)模型的鲁棒性和泛化能力?
- led屏背后线路安装图解_弱电工程LED屏安装工程施工方案
- html页面显示dcm文件,基于HTML5标准的Dicom图像显示.doc
- SpringBoot整合WebSocket案例
- 【ProcessOn】在线流程图、思维导图、原型图、UML图制作工具ProcessOn使用
- 笔记本怎样连接无线网络
- 在努力的途中 忤逆满路荆棘
- 正交db小波 图像处理 matlab,基于matlab小波工具箱的数字图像处理及小波分析
- 关于计算机这一块儿的认识
- Snipaste截图工具
- 12v电量显示制作方法_由分立器件设计的汽车12V电池电量指示器(上) | 电子懒人的基础硬件电路图讲解...
- 2018东北四省赛 Store The Matrix (矩阵)
- Android水彩滤镜,Reactor Player水彩效果滤镜