2113:【24CSPJ普及组】小木棍(sticks)

#include <iostream>
using namespace std;
long long m=10000000000000;
bool b=false;
void j(long long d,int l){
    if(l==0){
        if(d<m){
            m=d;
            b=true;
        }
    }else{
        if(d!=0){
            j(d*10+0,l-6);
        }
        if(d==2){
            j(d*10+1,l-2);
        }
        if(d==5){
            j(d*10+2,l-5);
            j(d*10+3,l-5);
        }
        
        j(d*10+4,l-4);
        j(d*10+5,l-5);
        j(d*10+6,l-6);
        j(d*10+7,l-3);
        j(d*10+8,l-7);
        j(d*10+9,l-6);
    }
}
int main(int argc, char** argv) {
    int n;
    cin>>n;
    j(0,n);
    cout<<m;
    
    
    return 0;
}

 

posted @ 2024-12-14 08:26  -刘-j-x-  阅读(282)  评论(0)    收藏  举报