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;
}
相关推荐
aWty_17 小时前
实分析入门(2)-- 减法
数学·实变函数
深念Y1 天前
哈希与向量:计算机理解现实的两座桥梁
人工智能·数学·机器学习·向量·hash·哈希·空间
闻缺陷则喜何志丹2 天前
【高等数学 第九章】多元函数微分法及其应用
数学·高等数学·多元函数·微分
切糕师学AI3 天前
布隆过滤器(Bloom Filter)技术详解
数学·算法
databook4 天前
如何让多个动画“齐步走”?
python·数学·动效
深念Y4 天前
王者荣耀与英雄联盟数值设计对比:穿透、乘算与加算、增伤乘算更厉害,减伤加算更厉害
数学·算法·游戏·建模·游戏策划·moba·数值
Robot_Nav4 天前
数学之美——Reeds-Shepp 曲线与 Dubins 曲线
数学·曲线·dubins·reeds-shepps
Luhui Dev5 天前
如何画圆的切线?几何作图技巧
人工智能·数学·ai
databook8 天前
如何灵活设置公式中各个部分的颜色?
python·数学·动效
Tisfy10 天前
LeetCode 3783.整数的镜像距离:数学
数学·算法·leetcode·题解