样例输入
4 16
样例输出
3 1 2 4
解题思路:
一看到这道题,看不出有啥思路,看到 n 的取值范围为 0
实现代码:
#includeusing namespace std; int main() { int n, sum; cin>>n>>sum; int num[n]; for (int i = 0; i < n; ++i) num[i] = i+1; do { int cp_num[n]; copy(num, num+n, cp_num); for (int i = 0; i < n-1; ++i) { // 重复相加操作次数 n-1 for (int j = 0; j < n-i-1; ++j) { // 一次操作需要 n-i-1 次两数相加 cp_num[j] += cp_num[j+1]; } } if (cp_num[0] == sum) { for (int i = 0; i < n; ++i) { cout<



