关闭

【POJ】1416【搜索】【又、数字重组】

446人阅读 评论(0) 收藏 举报
分类:

通过重新拆分、组合(顺序不变),得到小于给定数的最大值及其组合

Sample Input Sample Output
50 12346 43 1 2 34 6
376 144139 283 144 139
927438 927438 927438 927438
18 3312 18 3 3 12
9 3142 error
25 1299 21 1 2 9 9
111 33333 rejected
103 862150 103 86 2 15 0
6 1104 rejected
0 0  


#include<stdio.h>
#include<string.h>
int max=0,num1[7],num2[7],flag,n;
int char_int(char str[]){
    int b=0;
    char *c=str;
    while(*c!=0){
        b=b*10+(*c-48);
        c++;
    }
    return b;
}
//DFS
void DFS(char *p,int s,int i,int num){
    int x=0;
    if(*p==0){
        int j;
        if(s>max){
            flag=1;
            max=s;
            num2[0]=num;
            for(j=1;j<i;j++)
                num2[j]=num1[j];
        }
        else{
            if(s==max)
                flag=0;
        }
        return ;
    }
    while(*p!=0){
        x=x*10+(*p-48);
        if(s+x>n) return;
        num1[i]=x;
        DFS(p+1,s+x,i+1,num+1);
        p++;
    }
}
int main(){
    char c[7];
    int m,i;
    while(scanf("%d%s",&n,c),n+(m=char_int(c))!=0){
        if(n==0) printf("error\n");
        else{
            if(m==0) printf("0 0\n");
            else{
                max=0;
                flag=1;
                DFS(c,0,1,0);
                if(!max){
                    printf("error\n");
                    continue;
                }
                if(flag){
                    printf("%d",max);
                    for(i=1;i<=num2[0];i++)
                        printf(" %d",num2[i]);
                    printf("\n");
                }
                else
                    printf("rejected\n");
            }
        }
    }
    return 0;
}


0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10417次
    • 积分:288
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档