您的位置:首页 > 其它

poj3187 Backward Digit Sums

2017-03-19 20:34 316 查看
思路:

暴力乱搞。

实现:

1 #include <iostream>
2 #include <cstdio>
3 #include <vector>
4 #include <algorithm>
5 using namespace std;
6
7 int n, m, a[10], buf[10];
8
9 bool check()
10 {
11     for (int i = 0; i < n; i++)
12     {
13         buf[i] = a[i];
14     }
15     for (int i = 0; i < n - 1; i++)
16     {
17         for (int j = 0; j < n - i - 1; j++)
18             buf[j] += buf[j + 1];
19     }
20     return buf[0] == m;
21 }
22 int main()
23 {
24     cin >> n >> m;
25     for (int i = 1; i <= n; i++)
26     {
27         a[i - 1] = i;
28     }
29     do
30     {
31         if (check())
32             break;
33     } while (next_permutation(a, a + n));
34     for (int i = 0; i < n; i++)
35     {
36         cout << a[i] << " ";
37     }
38     puts("");
39     return 0;
40 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: