【POJ】[3187]Backward Digit Sums

这里写图片描述
这里写图片描述

运用next_permutation
简单地求了出来

#include<stdio.h>
#include<algorithm>
using namespace std;
int main() {
    int n,m;
    while(scanf("%d %d",&n,&m)!=EOF) {
        int a[10];
        for(int i=0; i<n; i++)
            a[i]=i+1;
        do {
            int sum[10];
            for(int i=0; i<n; i++) {
                sum[i]=a[i];
            }
            int t=n;
            while(t--) {
                for(int i=0; i<t; i++) {
                    sum[i]+=sum[i+1];
                }
            }
            if(sum[0]==m) {
                for(int i=0; i<n; i++) {
                    printf("%d",a[i]);
                    if(i==n-1)
                        printf("
");
                    else
                        printf(" ");
                }
                break;
            }
        } while(next_permutation(a,a+n));
    }
    return 0;
}

题目地址:【POJ】[3187]Backward Digit Sums

原文地址:https://www.cnblogs.com/BoilTask/p/12569576.html