求助站外题

灌水区

给点思路吧!
by Confess_Our_Sins @ 2021-04-10 15:20:17


@[fyq1027](/user/431741) 每个人被算到了多少次 组合数解决
by 培淇2021 @ 2021-04-10 15:31:32


所以怎么改?
by Confess_Our_Sins @ 2021-04-10 15:44:37


```c #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; vector<vector<vector<int>>> delight; vector<int> add(vector<int>& order_a, vector<int>& order_b) { vector<int> a, b; for (int i = order_a.size() - 1; i >= 0; i--) a.push_back(order_a[i]); for (int i = order_b.size() - 1; i >= 0; i--) b.push_back(order_b[i]); vector<int> c; int t = 0; for (int i = 0; i < a.size() || i < b.size(); i++) { if (i < a.size()) t += a[i]; if (i < b.size()) t += b[i]; c.push_back(t % 10); t /= 10; } if (t) c.push_back(t); vector<int> res; for (int i = c.size() - 1; i >= 0; i--) { res.push_back(c[i]); } return res; } int main() { int n; cin >> n; for (int i = 0; i < n; i++) { string happy; cin >> happy; vector<int> tmp; for (int j = 0; j < happy.size(); j++) { tmp.push_back(happy[j] - '0'); } vector<vector<int>> arr; arr.push_back(tmp); delight.push_back(arr); } vector<int> res; res.push_back(0); for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { auto t = add(delight[i][0], delight[j][0]); delight[i].push_back(t); auto restmp = res; res = add(restmp, t); } } for (int i = 0; i < res.size(); i++) { cout << res[i]; } } ```
by Confess_Our_Sins @ 2021-04-10 15:45:12


|