【POJ】[3187]Backward Digit Sums

来源:互联网 发布:linux vim复制多少行 编辑:程序博客网 时间:2024/06/06 16:39

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

运用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("\n");                    else                        printf(" ");                }                break;            }        } while(next_permutation(a,a+n));    }    return 0;}

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

0 0
原创粉丝点击