社区讨论

TLE#11#19#20求调

P1763埃及分数参与者 3已保存回复 25

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
25 条
当前快照
1 份
快照标识符
@mdi7s556
此快照首次捕获于
2025/07/25 10:40
8 个月前
此快照最后确认于
2025/11/04 06:29
4 个月前
查看原帖

Code:

CPP
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10;
int lim,fg,ans;
int num[N],tot[N];
void dfs(int dep,int mol,int den,int pre){
    if(dep==lim+1){
        if(!mol){
            fg=1;
            if(num[lim]<tot[lim]){
                for(int i=1;i<=lim;i++)
                    tot[i]=num[i];
                ans=num[lim];
            }
        }
        return;
    }
    int x=(lim+1-dep);
    for(int l=max(pre+1,(den+mol-1)/mol);l<=den*x/mol;l++){
        num[dep]=l;
        dfs(dep+1,mol*l-den,den*l,l);
    }
}
signed main(){
    int a,b;
    scanf("%lld%lld",&a,&b);
    lim=1;
    while(!fg){
        memset(tot,0x3f,sizeof(tot));
        fg=0;
        dfs(1,a,b,1);
		lim++;
    }
    for(int i=1;i<lim;i++)
        printf("%lld ",tot[i]);
    return 0;
}

回复

25 条回复,欢迎继续交流。

正在加载回复...