1 条题解

  • 0
    @ 2026-10-18 18:28:43

    G2016 [GESP202412 二级] 数位和 题解

    知识点:数字处理、数位和、最值。

    解题思路

    每个数分别累加各位数字,更新最大数位和。

    为什么正确

    处理完前若干数后,ans保存这些数的最大数位和,逐个更新最终覆盖全部输入。

    易错点

    每读一个新数要把当前sum清零,答案取最大而非总和。

    复杂度

    时间O(总位数),空间O(单个数字位数)。

    参考代码(C++17)

    #include<bits/stdc++.h>
    
    using namespace std;
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int n,ans=0;
        cin>>n;
        while(n--) {
            string s;
            cin>>s;
            int sum=0;
            for(char c:s)sum+=c-'0';
            ans=max(ans,sum);
        }
        cout<<ans;
    }
    

    说明

    本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用6个自行生成的测试点。

    • 1

    信息

    ID
    654
    时间
    1000ms
    内存
    512MiB
    难度
    进阶
    标签
    递交数
    13
    已通过
    4
    上传者