【POJ】3187

来源:互联网 发布:新京报网络直播回看 编辑:程序博客网 时间:2024/06/06 03:54

http://poj.org/problem?id=3187

输入n,sum,按杨辉三角的规则,求1~n的数。

全排列

#include <iostream>#include <cstdio>#include <cstring> #include <algorithm>using namespace std;int n,sum;int a[20],b[20];int main(){    while (cin >> n >> sum){        for (int i=1;i<=n;i++){            a[i]=i;        }        do{            for (int i=1;i<=n;i++){                b[i]=a[i];            }            for (int i=n-1;i>=1;i--){                for (int j=1;j<=i;j++){                    b[j]+=b[j+1];                }            }            if (b[1]==sum) break;        }while (next_permutation(a+1,a+1+n));        for (int i=1;i<=n;i++){            cout << a[i] << " ";        }        cout << endl;    }}
原创粉丝点击