暴搜一片红,悬棺求调!!!
查看原帖
暴搜一片红,悬棺求调!!!
1323415
wky_wsy_楼主2024/11/29 21:39
#include <bits/stdc++.h>
#define int long long
using namespace std;
int t,n;
int lmin=INT_MAX;
int mg[10]={6,2,5,5,4,5,6,3,7,6};
void dfs(int a,int o){
    for(int i=0;i<10;i++){
        if(a>=mg[0]&&o==0) continue;
        if(a>=mg[i]){
            o*=10;
            o+=i;
            dfs(a-mg[i],o);
        }
    }
    if(o<lmin) lmin=o;
}
signed main(){
    cin.tie(0);
    cin>>t;
    while(t--){
        cin>>n;
        lmin=INT_MAX;
        dfs(n,0);
        printf("%lld\n",lmin);
    }
}
2024/11/29 21:39
加载中...