Codeforces Round #228 (Div. 1) C 贪心
嘎嘎,今天被一些事耽误了,可是还是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;i++) {
		scanf("%d",&ss[i]);
		if(ss[i]&1) {
			for(int j=1;j<=ss[i];j++) {
				scanf("%d",&mp[i][j]);
				if(j == (ss[i] + 1)/2) {
					node[cnt].id = i;
					node[cnt++].mid = mp[i][j];
				}
			}
		}
		else {
			for(int j=1;j<=ss[i];j++) {
				int x;
				scanf("%d",&x);
				if(j <= ss[i]/2) ans1 += x;
				else ans2 += x;
			}
		}
	}
	sort(node,node + cnt,cmp);
	int mark = 1;
	for(int i=0;i<cnt;i++) {
		if(mark > 0) {
			int k = node[i].id;
			for(int j=1;j<=(ss[k] + 1)/2;j++)
				ans1 += mp[k][j];
			for(int j=(ss[k] + 1)/2 + 1;j<=ss[k];j++)
				ans2 += mp[k][j];
		}
		else {
			int k = node[i].id;
			for(int j=1;j<=ss[k]/2;j++)
				ans1 += mp[k][j];
			for(int j=(ss[k] + 1)/2;j<=ss[k];j++)
				ans2 += mp[k][j];
		}
		mark *= -1;
	}
	cout<<ans1<<" "<<ans2<<endl;
}
void output() {
}
int main() {
	while(true) {
		init();
		if(input())return 0;
		cal();
		output();
	}
	return 0;
}
Codeforces Round #228 (Div. 1) C 贪心的更多相关文章
- Codeforces Round #546 (Div. 2) D 贪心 + 思维
		
https://codeforces.com/contest/1136/problem/D 贪心 + 思维 题意 你面前有一个队列,加上你有n个人(n<=3e5),有m(m<=个交换法则, ...
 - Codeforces Round #228 (Div. 2)  C. Fox and Box Accumulation(贪心)
		
题目:http://codeforces.com/contest/389/problem/C 题意:给n个箱子,给n个箱子所能承受的重量,每个箱子的重量为1: 很简单的贪心,比赛的时候没想出来.... ...
 - Codeforces Round #228 (Div. 1) A. Fox and Box Accumulation 贪心
		
A. Fox and Box Accumulation 题目连接: http://codeforces.com/contest/388/problem/A Description Fox Ciel h ...
 - Codeforces Round #547 (Div. 3) F 贪心 + 离散化
		
https://codeforces.com/contest/1141/problem/F2 题意 一个大小为n的数组a[],问最多有多少个不相交的区间和相等 题解 离散化用值来做,贪心选择较前的区间 ...
 - Codeforces Round #228 (Div. 1)
		
今天学长给我们挂了一套Div.1的题,难受,好难啊. Problem A: 题目大意:给你n个数字,让你叠成n堆,每个数字上面的数的个数不能超过这个数,如 3 上面最多放三个数字 问你,最少能放几堆. ...
 - Codeforces Round #228 (Div. 2)
		
做codeforces以来题目最水的一次 A题: Fox and Number Game 题意:就是用一堆数字来回减,直到减到最小值为止,再把所有最小值加,求这个值 sol: 简单数论题目,直接求所有 ...
 - Codeforces Round #595 (Div. 3)D1D2 贪心 STL
		
一道用STL的贪心,正好可以用来学习使用STL库 题目大意:给出n条可以内含,相交,分离的线段,如果重叠条数超过k次则为坏点,n,k<2e5 所以我们贪心的想我们从左往右遍历,如果重合部分条数超 ...
 - Codeforces Round #554 (Div. 2) D 贪心 + 记忆化搜索
		
https://codeforces.com/contest/1152/problem/D 题意 给你一个n代表合法括号序列的长度一半,一颗有所有合法括号序列构成的字典树上,选择最大的边集,边集的边没 ...
 - Codeforces Round #303 (Div. 2) D 贪心
		
D. Queue time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...
 
随机推荐
- POJ 3580 SuperMemo (splay tree)
			
SuperMemo Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 6841 Accepted: 2268 Case Ti ...
 - ARM ® and Thumb  ®-2 指令系统
			
指令表关键词 Rm {, <opsh>} 寄存器移位方式,将寄存器的移位结果作为操作数而Rm值保持不变 <Operand2> 灵活的使用第二个操作数. ...
 - Android实现两次按下返回键退出
			
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BAC ...
 - SqlServer收缩日志文件
			
通过收缩的方法可以释放所占空间. 第一步:将数据库的模式调整为简单模式 右击数据库名->'属性'->'选项'->恢复模式改成'简单'->点'确定'按钮. 第二步:收缩文件 右键 ...
 - Remon Spekreijse CSerialPort串口类的修正版2014-01-10
			
转自:http://m.blog.csdn.net/blog/itas109/18358297# 2014-1-16阅读691 评论0 如需转载请标明出处:http://blog.csdn.net/i ...
 - 算法:图(Graph)的遍历、最小生成树和拓扑排序
			
背景 不同的数据结构有不同的用途,像:数组.链表.队列.栈多数是用来做为基本的工具使用,二叉树多用来作为已排序元素列表的存储,B 树用在存储中,本文介绍的 Graph 多数是为了解决现实问题(说到底, ...
 - Selenium2+python自动化39-关于面试的题
			
前言 最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下, 回答不妥的地方欢迎各位高手拍砖指点. 一.selenium中如何判断元素是否存在? 首先selen ...
 - (a*b)%c 小的技巧
			
(a*b)%c这个问题看上去好简单啊. 当然我们不是来说这么简单的问题了.你想一想,我们会不会遇到这种情况,a是__int64 ,b也是__int64 当两个数足够大的时候我们直接相乘的就会出现__i ...
 - 《Unix内核源码剖析》
			
<Unix内核源码剖析> 基本信息 作者: (日)青柳隆宏 译者: 殷中翔 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115345219 上架时间:2014-2 ...
 - 简明python教程 --C++程序员的视角(三):模块
			
模块和包 1 python程序由包(package).模块(module)和函数组成.包是由一系列模块组成的集合.模块是处理某一类问题的函数和类的集合.函数是一段可以重复多次调用的代码. 2 pyth ...