给点思路吧!
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