2 条题解

  • 1
    @ 2025-7-23 10:38:50

    #include<bits/stdc++.h> #define int long long using namespace std; const int N = 101; const int inf = 0x3f3f3f3f; int n; int a[21]; //vector<int> hqt[401]; void dfs(int number , int step , int sum){ if(sum > n){ return; } if(number >= n){ return; } if(sum == n){ cout << n << "="; for(int i = 1 ; i < step - 1 ; i ++){ cout << a[i] << "+"; } cout << a[step - 1] << endl; return; }

    //cout << step << endl;
    for(int i = number ; i <= n - 1 ; i ++){
    	a[step] = i;
    	dfs(i , step + 1 , sum + i);
    }
    

    } signed main(){ freopen("split.in" , "r" , stdin); freopen("split.out" , "w" , stdout); cin >> n; dfs(1 , 1 , 0); return 0; }

    信息

    ID
    532
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    115
    已通过
    30
    上传者