388C - Fox and Card Game
思路:贪心博弈。
如果是偶数个一人一半;如果是奇数个,中间那个数单独取,其他一人一半。单独取的数排一下序再取。
代码:
#include<bits/stdc++.h> using namespace std; const int N=105; vector<int>a; int main() {int n;int ans=0,sum=0;cin>>n;for(int i=0;i<n;i++){int k,x;cin>>k;for(int j=0;j<k;j++){cin>>x;sum+=x;if(k&1){if(j==k/2)a.push_back(x);}if(j<k/2)ans+=x;}}sort(a.begin(),a.end(),[](int a,int b){return a>b;});for(int i=0;i<a.size();i+=2)ans+=a[i];cout<<ans<<' '<<sum-ans<<endl;return 0; }