edgecam2012:程序算法求助

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/10 12:15:18
Program国度的人,喜欢玩这样一个游戏,在一块板上写着一行数,共n个。两个游戏者,轮流从最右或最左取一个数。刚开始,每个游戏者的得分均为零。如果一个游戏者取下一个数,则将该数的值加到该游戏者的得分上,最后谁的得分最高谁就赢了游戏。给出这n个数( 从左往右), 假设游戏者都是非常聪明的,问最后两个人的得分(假设第一个人首先取数).

输入格式:
第一行为n(2<=n<=100)。
第二行为n个数,每个数字之间均用空格隔开。

输出:两个游戏者的得分.
第一个数表示第一个游戏者的得分。
第二个数为第二个游戏者的得分。
两个数字之间用空格隔开。

样例输入:
6
4 7 2 9 5 2

输出:
18 11
第一个人选的是 2 7 9
第二个人是 4 5 2

每当那苍茫的黄昏来临,
匆匆岁月有几回头,
和爆竹、炸弹或者更糟的爆炸声中
水池和井水倾诉而
溅射在你的恶意的毒工具上,
就在天空中是蔚蓝的哈哈

说详细点啊,"聪明"代表什么意思.上面的样例中,第一个游戏者取的第一个数是什么.他能在哪个范围内选择,比如说第一次的时候他能选到9吗?每次依什么样的策略选数?比如是从左向右选最大的还是怎么样?样例是从左向右的吧,既然比得分大小,为什么第一个会选2?