POJ3187——Backward Digit Sums(暴力)

来源:互联网 发布:mac双系统怎么设置默认系统 编辑:程序博客网 时间:2024/06/05 20:14

题目链接

        这题没什么特别要注意的,直接next_permutation(),暴力走起。


#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;int a[15]={0};int b[15]={0};int main(){    //freopen("in.in","r",stdin);    int n, sum;    while(scanf("%d%d",&n,&sum)!=EOF)    {        for(int i=0; i<n; i++)            a[i]=i+1;        do        {            for(int i=0; i<n; i++)                 b[i]=a[i];            for(int j=1;j<n;j++)                for(int i=0;i<n-j;i++)                b[i]+=b[i+1];            if(b[0]==sum)            {                for(int i=0; i<n-1; i++)                    printf("%d ",a[i]);                printf("%d\n",a[n-1]);                break;            }        }        while(next_permutation(a,a+n));    }}


0 0