有一说一这题真的不用那么麻烦
solution
注意到题目中的 \(1\leq t_i\leq 100\) ,这意味着我们可以保存每个数出现的次数,然后遍历每个数,对应到她出现的次数,然后更新答案。
具体算法流程:
pd==5
;参考代码:
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main(void)
{
int a[61], t[101]={}, sum=0, pd=0;
for(int i=1;i<=5;i++)
{
scanf("%d", &a[i]);
sum += a[i];
t[a[i]]++;
pd += t[a[i]];
}
if(pd==5) {printf("%d\n", sum);return 0;}
int ans=233333333;
//取和的最小值,所以一开始是无穷大
for(int i=1;i<=5;i++)
{
if(t[a[i]]==2)
{
int f = sum-a[i]*t[a[i]];
ans=min(ans, f);
}
else if(t[a[i]]>2)
{
int f = sum-a[i]*3;
ans=min(ans, f);
}
}
printf("%d\n", ans);
return 0;
}
做题笔记 CF680A 【Bear and Five Cards】
原文:https://www.cnblogs.com/BlueInRed/p/12617532.html