C++问题:甲乙两人玩游戏。现在桌面上有 n 堆牌,每张牌上都有数字。甲 先抽牌,他可以抽任意一堆

甲乙两人玩游戏。现在桌面上有 n 堆牌,每张牌上都有数字。甲 先抽牌,他可以抽任意一堆牌的最上面一张,乙 后抽,他 可以抽任意一堆牌的最下面一张。两人轮流抽牌,直到牌全部抽完。甲乙都想让自己最后牌上的数字总和最大。
★数据输入
输入数据第一行包含 1 个整数 n ,表示牌的堆数,接下来有n行输入,每行表示一堆牌,每行的第一个数表示第 i 堆牌的数目,接下来是 Si 个正整数 c1, c2, ...,ck, ..., csi,依次是从牌的顶部到底部的顺利。
★数据输出
输出两个数,分别表示 甲乙最后手上牌的数字的总和。

请自己先想一想,有了大概的思路之后去做,哪怕只写出伪代码,也比直接把需求发出来的好一些。
温馨提示:答案为网友推荐,仅供参考