zoukankan      html  css  js  c++  java
  • 4.17 每日一题题解

    牛牛的卡片

    涉及知识点:

    • 贪心/思维

    solution:

    • (首先,能被3整除的数,每一位相加一定也能被3整除!)
    • (312 = 3 + 1 + 2 = 6,6能被3整除)
    • (其次,能被2整除的数,末尾数字一定是偶数!)
    • $即2,4,6,8 $
    • (根据以上两种性质,不难构造出符合条件的字符串:)
    • (卡片之和要求是3的倍数,且卡片中存在至少一张偶数)
    • (符合条件的基础上,我们要排个序,并且把最小的偶数记录下来)
    • (要满足数字最大,应该从9到1输出,最后输出最小的偶数即可)

    std:

    #include <bits/stdc++.h>
    using namespace std;
    #define ll long long
    int main()
    {
        int n,x,minn = 9,sum = 0;
        map<int , int> mp;
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d",&x);
            sum += x;
            if(x%2 == 0){
                minn = min(minn ,x);
            }
            mp[x]++;
        }
        if(sum%3 != 0 || minn == 9){
            printf("-1
    ");
            return 0;
        }
        mp[minn]--;
        for(int i=9;i>=1;i--){
            for(int j=1;j<=mp[i];j++){
                printf("%d",i);
            }
        }
        printf("%d",minn);
        return 0;
    }
    
  • 相关阅读:
    SQL考点例题解析
    数据交换技术
    网络安全的攻击手段
    实词和虚词
    VBA代码
    宏代码
    常用模块
    常用模块
    模块和包
    模块介绍
  • 原文地址:https://www.cnblogs.com/QFNU-ACM/p/12717335.html
Copyright © 2011-2022 走看看