zoukankan      html  css  js  c++  java
  • E. 因数串

    题目链接:https://acm.ecnu.edu.cn/contest/292/problem/E/

    想法:

    我们直接考虑dfs搜索,dfs(now),从后往前(也可以从前往后)找第一个可以增加或减少的,那些不能动的就换方向,这个能的计算后就输出,dfs下一个数,然后break,这样构造就能保证每个输出的数他都是不同的

    每次搜索的时候注意换一下方向就可以了

    #include <algorithm>
    #include <string>
    #include <cstring>
    #include <vector>
    #include <map>
    #include <stack>
    #include <set>
    #include <queue>
    #include <cmath>
    #include <cstdio>
    #include <iomanip>
    #include <ctime>
    #include <bitset>
    #include <cmath>
    #include <sstream>
    #include <iostream>
    #include <unordered_map>
    
    #define ll long long
    #define ull unsigned long long
    #define ls nod<<1
    #define rs (nod<<1)+1
    #define pii pair<int,int>
    #define mp make_pair
    #define pb push_back
    #define INF 0x3f3f3f3f
    #define max(a, b) (a>b?a:b)
    #define min(a, b) (a<b?a:b)
    
    
    const double eps = 1e-8;
    const int maxn = 1e5 + 10;
    const ll MOD = 1e9 + 7;
    const int mlog=20;
    
    int sgn(double a) { return a < -eps ? -1 : a < eps ? 0 : 1; }
    
    using namespace std;
    
    const int N = 20,M = 70;
    ll f[N][M];
    int p[N],k[N],n;
    bool vis[N];
    void dfs(int id,ll x){
        if(id==n+1){
            printf("%lld
    ",x);
            return;
        }
        if(!vis[id]){
            for(int i=0;i<=k[id];i++)
                dfs(id+1,x*f[id][i]);
        }
        else {
            for(int i=k[id];i>=0;i--)
                dfs(id+1,x*f[id][i]);
        }
        vis[id]^=1;
    }
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d%d",&p[i],&k[i]);
            f[i][0]=1;
            for(int j=1;j<=k[i];j++)
                f[i][j]=f[i][j-1]*p[i];
        }
        dfs(1,1);
        return 0;
    }
  • 相关阅读:
    Python的一些小技巧
    Python连接sqlite3数据库
    闭包和toString方法的使用
    webpack(10) webpack扩展(插件. loader)
    webpack(9) 配置文件
    webpack(8) plugin
    webpack(7) 样式处理和图片处理之手写loader
    webpack(6) loader
    webpack(5)入口和出口
    webpack(4)编译过程分析
  • 原文地址:https://www.cnblogs.com/-Ackerman/p/13365583.html
Copyright © 2011-2022 走看看