1 条题解

  • 0
    @ 2025-8-24 22:27:20

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar NASFsky
    以前是个OIer,拿了一些没用的奖 || 2020-2023

    搬运于2025-08-24 22:27:20,当前版本为作者最后更新于2021-01-06 18:36:05,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    P7174 CESTA 题解

    首先读题,可以发现这道题主要可以分为两步:判断30倍数和找最大值。如果一个数要是30的倍数,那么这个数一定是3的倍数和10的倍数。如果一个数是3的倍数,那么它的各位数字和一定也是3的倍数(小学奥数内容);如果一个数是10的倍数,那么这个数的末尾一定要有个0。延伸到这道题目中,就是一定要含有0。最后将每位数字从大到小输出即可。

    AC代码:

    #include<bits/stdc++.h>//万能头文件 
    using namespace std;
    string s;
    int x,f[1001];   
    int main()
    {
    	cin>>s;
    	int len=s.size();
    	for(int i=0;i<=len-1;i++)f[s[i]-'0']++;//统计每位数字出现的次数  
    	for(int i=9;i>=1;i--)x+=f[i]*i;//算数字和 
    	if(x%3||!f[0])cout<<-1;//假如不是30的倍数  
    	else for(int i=9;i>=0;i--)for(int j=1;j<=f[i];j++)cout<<i;//否则从大到小输出 
        return 0;//结束awa 
    } 
    

    题解求过awa

    • 1

    信息

    ID
    5429
    时间
    1000ms
    内存
    32MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者