MT2001 幸运的3

已经变成数学的形状了传送门

题目描述

给出n个数,可以两两配对(首位相连,比如13 ,78 变成1378 或7813),每个数只能使用一次,最多能有几个三的倍数,没匹配的数不考虑

解题思路

直接讲数学规律:一个数对3取模,要么模为1,要么模为2,要么是0;

两个数配对之后,如果是3的倍数,要满足这样的数学规律:它们的余数之和想加为3的倍数,或者是0;

这个数学规律还是比较好发现的,我自己在模拟的时候,找到了 13 和 23,随后发现13对3取模是1,23对3取模是2,相加刚好是3,所以就慢慢推导出了这个规律

ac✅️代码

复制代码
#include<bits/stdc++.h> 

using namespace std;
int cnt1,cnt2,cnt3;



int main( )
{
    int n;cin>>n;
    for(int i = 0 ; i < n ; i++) 
    {
        int x;cin>>x;
        int rem = x % 3;
        if(rem == 1) cnt1 ++;
        else if(rem == 2) cnt2++;
        else cnt3 ++;
    }

    int ans = 0;

    if(cnt1 != 0 && cnt2 != 0) ans += min(cnt1,cnt2);
    ans += cnt3/2;

    cout<<ans<<endl;


    // cout<<cnt / 2 <<endl;
    

    return 0;
}
相关推荐
Tisfy1 小时前
LeetCode 2333.最小差值平方和:排序 + 数学计算(不用二分)
数学·算法·leetcode·题解·贪心·排序
fxss21 小时前
宝宝学识屋上新|用喜欢的小动物,玩懂数数、加法和减法
数学
_wyt0013 天前
洛谷 P10112 [GESP202312 八级] 奖品分配 题解
c++·数学·gesp·八级
仿生狮子4 天前
OpenAI 攻下千禧年难题之后,开发者似乎无动于衷
前端·数学·vibecoding
HIT_Weston5 天前
26、【数学】【信息论】KL 弃峰怎么救:α-散度、退火、JS 与 Wasserstein
数学·信息论
闻缺陷则喜何志丹5 天前
【排样】亲士套料工具箱
数学·计算几何·亲士·排样·套料
Summer-Bright5 天前
深度 | OpenAI 甩出 722 篇数学论文,但黎曼猜想并没有被证明
人工智能·数学·openai
databook6 天前
什么是范数?用 NumPy 动手算一遍就明白了
python·数学·numpy
deepseek236 天前
erdosproblems 冻结评论与证明声明拆解:机器证明泛滥后,一个数学网站关掉了评论区
人工智能·数学·大模型
HIT_Weston7 天前
20、【数学】【信息论】信息量为什么是 - log p:可加性如何锁死对数
数学·基础