zoukankan      html  css  js  c++  java
  • PAT (Advanced Level) 1103. Integer Factorization (30)

    暴力搜索。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<queue>
    #include<stack>
    #include<algorithm>
    using namespace std;
    
    int n,k,p,top;
    int path[1000];
    int flag=0;
    int ans_path[1000],ans_num=0,ans_len;
    
    void dfs(int x,int pre,int sum,int num)
    {
        if(sum>n) return;
        if(x>k) return;
        if(sum==n)
        {
            if(x!=k) return;
    
            flag=1;
            if(num>ans_num)
            {
                ans_num=num;
                ans_len=x;
                for(int i=0;i<x;i++) ans_path[i]=path[i];
            }
    
            return;
        }
        for(int i=pre;i>=1;i--)
        {
            path[x]=i;
            dfs(x+1,i,sum+int(pow(i,p)+0.5),num+i);
        }
    }
    int main()
    {
        scanf("%d%d%d",&n,&k,&p);
        top=(int) (pow(1.0*n,1.0/p)+0.5);
        top=min(top,n/k); //加这个剪枝速度还可以提高一些
    
        dfs(0,top,0,0);
        if(flag==0) printf("Impossible
    ");
        else
        {
            printf("%d = ",n);
    
            for(int i=0;i<ans_len;i++)
            {
                printf("%d^%d",ans_path[i],p);
                if(i!=ans_len-1) printf(" + ");
            }
        }
        return 0;
    }
  • 相关阅读:
    css半透明边框
    css脱离文档流
    margin负值的作用
    浅谈BFC
    css多列布局
    css布局--水平垂直居中
    css布局--垂直居中
    css布局--水平居中
    题解-APIO2019奇怪装置
    题解-AtCoder ARC-078F Mole and Abandoned Mine
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5642407.html
Copyright © 2011-2022 走看看