题目链接
题目大意:
给你 n 个数 每两个 合成一块 要求整除3 问 最多合成几个?
解题思路:
官方说是贪心题 但是有更简单的做法
把所有的数 % 3 余数可以为 0 1 2
余数为 0 的两两合并 余数为 1 的和余数为 2 的合并
妙噢
代码如下:
#include<iostream>
using namespace std;
const int maxn=1e4+10;
int a[maxn];
int main()
{
int n;
int i;
int x,ans;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>x;
a[x%3]++;
}
ans=a[0]/2+min(a[1],a[2]);
cout<<ans<<endl;
return 0;
}