第4题 火柴 时限:1s 空间:256m
【题目描述】
有N根火柴,第i根火柴的长度是Li。小明很喜欢正方形,所以小明希望用这些火柴拼出尽量多的正方形,但要同时满足如下条件:
1、一根火柴最多只能用在一个正方形中。
2、组成正方形的四根火柴,长度必须都相同。
给出N根火柴的长度,你的任务是计算:最多可以拼出多少个正方形?
【输入格式】
第一行,一个整数N。
第二行,N个整数,第i个整数是Li。
【输出格式】
一个整数,表示最多能拼出的正方形的数量
【数据规模】
对于60%的数据, 4 <= N <= 50, 1 <= Li <= 1000。
对于100的数据,4 <= N <= 5000,1 <= Li <= 1000000000。
输入/输出例子1
输入:
7
1 1 2 2 1 1 2
输出:
1
输入/输出例子2
输入:
20
1 2 3 4 1 2 3 4 1 2 3 1 2 3 4 1 2 3 3 3
输出:
3
样例解释
样例1:只能拼出1个正方形,正方形的边长是1
样例2:能拼出3个正方形
TA困扰了我很久,请问谁可以帮我解决
![](https://profile-avatar.csdnimg.cn/bd17e6f53e924205a4eb6e9dd2ae539d_dream_mc_lzr.jpg!4)
困扰了我许久的一个问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Leodong. 2023-12-04 17:44关注
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索并已验证可行,得到内容具体如下:
#include <iostream> #include <vector> #include <map> using namespace std; int main() { int N; cin >> N; vector<int> L(N); for (int i = 0; i < N; ++i) { cin >> L[i]; } map<int, int> count; for (int i = 0; i < N; ++i) { count[L[i]]++; } int max_squares = 0; for (auto &p : count) { max_squares += p.second / 4; } cout << max_squares << endl; return 0; }
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 关于#华为#的问题:华为HMS账号登录
- ¥20 Html备忘录页面制作
- ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
- ¥20 数学建模来解决我这个问题
- ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
- ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
- ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
- ¥30 NIRfast软件使用指导
- ¥20 matlab仿真问题,求功率谱密度
- ¥15 求micropython modbus-RTU 从机的代码或库?