桂城真题长方形
第四题,长方形
题目描述
有 n 根火柴,第1 根火柴的长度是 a[i] ,求用这些火柴最多能够拼成多少个长方形(火柴不能被折断,1 根火柴最多只能用在一个长方形)。正方形也被认为是长方形。不一定要部用完所有的火柴。
输入格式
第一行,一个整数 n ( 1<= n <= 100 )
第二行,n 个整数,第 i 个整数是 a[i] ( 1 <= a[i] <= 100 ) 。
输出格式
一个整数。
样例
输入数据 1
5
2 4 3 2 3
Copy
输出数据 1
1
Copy
输入数据 2
13
2 2 4 4 4 4 6 6 6 7 7 9 9
Copy
输出数据 2
3
Copy
题目有模糊不清的地方,我们假定长方形的一条边只能由一根火柴构成,否则,这个程序会非常非常复杂,不像是第 3 题的题目
代码+题解
#include <bits/stdc++.h>
using namespace std;
//unsigned long long ;
int n,a[10010];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int t;
cin>>t;
a[t]++;//下标计数
}
int s=0;
for(int i=1;i<=100;i++){//累加判断
s+=a[i]/2;
}
cout<<s/2;
return 0;
}