• POJ 3187 Backward Digit Sums (递推,bruteforce)


    第1行j列的一个1加到最后1行满足杨辉三角,可以先推出组合数来

    然后next_permutation直接暴。

    #include<cstdio>
    #include<iostream>
    #include <iterator>
    #include<string>
    #include<cstring>
    #include<queue>
    #include<vector>
    #include<stack>
    #include<vector>
    #include<map>
    #include<set>
    #include<algorithm>
    using namespace std;
    
    int n,tar;
    const int maxn = 11;
    int a[maxn];
    int C[maxn][maxn];
    
    inline bool ok()
    {
        int re = 0;
        for(int i = 0; i < n; i++){
            re += a[i]*C[n-1][i];
        }
        return re == tar;
    }
    
    //#define LOCAL
    int main()
    {
    #ifdef LOCAL
        freopen("in.txt","r",stdin);
    #endif
        for(int i = 0; i < maxn; i++){
            C[i][0] = C[i][i] = 1;
            for(int j = 1; j < i; j++){
                C[i][j] = C[i-1][j] + C[i-1][j-1];
            }
        }
        scanf("%d%d",&n,&tar);
        for(int i = 0; i < n; i++)a[i] = i+1;
        while(!ok() && next_permutation(a,a+n));
        copy(a, a + n, ostream_iterator<int>(cout, " "));
        return 0;
    }
  • 相关阅读:
    17.异常(三)之 e.printStackTrace()介绍
    16.异常(二)
    15.异常(一)
    AuthCodeTool验证码
    FileUploadTool
    JdbcTool
    myeclipse-java项目转换成web项目
    中文注释乱码change
    css鼠标样式
    java script 弹出框
  • 原文地址:https://www.cnblogs.com/jerryRey/p/4889670.html
Copyright © 2020-2023  润新知