首页 >web前端 >html教程 >Codeforces Round #228 (Div. 1) C 贪心_html/css_WEB-ITnose

Codeforces Round #228 (Div. 1) C 贪心_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:54:211106浏览

嘎嘎,今天被一些事耽误了,但是还是A了几个题目,这道题还不错

题目链接:


题意:两个人玩游戏,有N堆纸牌,纸牌上有数字,A每次只能取N堆中的 其中一个的顶部的 纸牌,B只能取N堆中的其中一个底部 的纸牌,A,B都想让自己取的和最大,问最后比分为多少


画了一下,如果某一堆里的 纸牌数量为偶数,发现其实是两个人各分一半,因为如果对方想从这里拿走本来属于自己那半部分的 较大的牌,自己完全来得及阻止的,

接下来就是奇数了,奇数 其实先手者就抢到了中间的一张牌,另外两半还是各自一半,所以 应该以每个奇数堆的 中间纸牌 的大小来进行贪心,


int n;typedef struct Node {	int mid;	int id;};Node node[100 + 55];int mp[100 + 55][100 + 55];int ss[100 + 55];void init() {	memset(ss,0,sizeof(ss));	memset(node,0,sizeof(node));}bool input() {	while(cin>>n) {		return false;	}	return true;}bool cmp(Node x,Node y) {	return x.mid > y.mid;}void cal() {	int ans1 = 0;	int ans2 = 0;	int cnt = 0;	for(int i=0;i<n scanf if for j="1;j<=ss[i];j++)" node i mp else int x ss ans1 ans2 sort cnt mark="1;"> 0) {			int k = node[i].id;			for(int j=1;j  <br>  <br>  <p></p> </n>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn