@PaulGuan
2016-10-02T19:10:30.000000Z
字数 410
阅读 718
题解
第四周
有n (1<=n<=100) 个不可分割和拼接的木棍,每个的长度为ai (1<=ai<=100) 求能拼出的最多的矩形框的数量。
一个矩形的一对边是相等的,所以可以计算相同长度的木棍能凑齐多少条边,由于ai的范围较小,我们可以直接计数num[ai]。
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n;
int flag[105];
int ans=0;
int main(void)
{
memset(flag,0,sizeof(flag));
cin>>n;
int i;
for(i=0;i<n;i++)
{
int a;
cin>>a;
flag[a]++;
}
for(i=1;i<=100;i++)
{
ans+=flag[i]/2;
}
ans/=2;
cout<<ans<<endl;
return 0;
}