F375

小红的签到题

https://ac.nowcoder.com/acm/contest/11218/A

F-375

先判断数位和是不是三的倍数,然后无脑做就行了,相当于打一张表,只要统计三位数是125的倍数存不存在就行了,多判断一个三个0的情况

string p;
int sum =0;
int cnt[10];

void print(int a,int b,int c){
    cnt[a]--;cnt[b]--;cnt[c]--;
    rep(i,1,9) {
        rep(j,1,cnt[i]) printf("%d",i);
    }
}
//=================================
int main(){
	cin >> p;
    rep(i,0,p.size()-1){
        sum += (p[i]-'0');
        cnt[p[i]-'0']++;
    }
    bool flag = true;
    if(sum%3==0){
        if((!cnt[5])&&(cnt[0]<2)) flag = false;
        else{
            if(cnt[1]&&cnt[2]&&cnt[5]){
                print(1,2,5);
                printf("125");
                rep(i,1,cnt[0]) printf("%d",0);
            }
            else if(cnt[2]&&cnt[0]&&cnt[5]){
                print(2,5,0);
                printf("250");rep(i,1,cnt[0]) printf("%d",0);
            }
            else if(cnt[3]&&cnt[7]&&cnt[5]){
                print(3,7,5);
                printf("375");rep(i,1,cnt[0]) printf("%d",0);
            }
            else if(cnt[0]>=2&&cnt[5]){
                print(0,0,5);
                printf("500");rep(i,1,cnt[0]) printf("%d",0);
            }
            else if(cnt[6]&&cnt[2]&&cnt[5]){
                print(6,2,5);
                printf("625");rep(i,1,cnt[0]) printf("%d",0);
            }
            else if(cnt[7]&&cnt[0]&&cnt[5]){
                print(7,0,5);
                printf("750");rep(i,1,cnt[0]) printf("%d",0);
            }
            else if(cnt[8]&&cnt[7]&&cnt[5]){
                print(8,7,5);
                printf("875");rep(i,1,cnt[0]) printf("%d",0);
            }
            else if(cnt[0]>=3){
                rep(i,1,9) rep(j,1,cnt[i]) printf("%d",i);
                rep(i,1,cnt[0]) printf("0");
            }
            else flag = false;
        }
    }
    else flag = false;
    if(!flag) puts("-1");
	return 0;
}



全部评论
rep是?
点赞 回复 分享
发布于 2021-12-22 16:02

相关推荐

不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务