嘎嘎,今天被一些事耽误了,可是还是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 贪心的更多相关文章

  1. Codeforces Round #546 (Div. 2) D 贪心 + 思维

    https://codeforces.com/contest/1136/problem/D 贪心 + 思维 题意 你面前有一个队列,加上你有n个人(n<=3e5),有m(m<=个交换法则, ...

  2. Codeforces Round #228 (Div. 2) C. Fox and Box Accumulation(贪心)

    题目:http://codeforces.com/contest/389/problem/C 题意:给n个箱子,给n个箱子所能承受的重量,每个箱子的重量为1: 很简单的贪心,比赛的时候没想出来.... ...

  3. 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 ...

  4. Codeforces Round #547 (Div. 3) F 贪心 + 离散化

    https://codeforces.com/contest/1141/problem/F2 题意 一个大小为n的数组a[],问最多有多少个不相交的区间和相等 题解 离散化用值来做,贪心选择较前的区间 ...

  5. Codeforces Round #228 (Div. 1)

    今天学长给我们挂了一套Div.1的题,难受,好难啊. Problem A: 题目大意:给你n个数字,让你叠成n堆,每个数字上面的数的个数不能超过这个数,如 3 上面最多放三个数字 问你,最少能放几堆. ...

  6. Codeforces Round #228 (Div. 2)

    做codeforces以来题目最水的一次 A题: Fox and Number Game 题意:就是用一堆数字来回减,直到减到最小值为止,再把所有最小值加,求这个值 sol: 简单数论题目,直接求所有 ...

  7. Codeforces Round #595 (Div. 3)D1D2 贪心 STL

    一道用STL的贪心,正好可以用来学习使用STL库 题目大意:给出n条可以内含,相交,分离的线段,如果重叠条数超过k次则为坏点,n,k<2e5 所以我们贪心的想我们从左往右遍历,如果重合部分条数超 ...

  8. Codeforces Round #554 (Div. 2) D 贪心 + 记忆化搜索

    https://codeforces.com/contest/1152/problem/D 题意 给你一个n代表合法括号序列的长度一半,一颗有所有合法括号序列构成的字典树上,选择最大的边集,边集的边没 ...

  9. Codeforces Round #303 (Div. 2) D 贪心

    D. Queue time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...

随机推荐

  1. 使用Chrome快速实现数据的抓取(三)——JQuery

    使用Chrome抓取页面一个非常方便的地方就是它可以执行JS,也就是说我们可以通过JS函数获取我们想要的数据.一个非常强大易用的库就是Jquery,本文就简单的介绍一下使用Chrome获取数据时Jqu ...

  2. android四大组件--ContentProvider具体解释

    一.相关ContentProvider概念解析: 1.ContentProvider简单介绍 在Android官方指出的Android的数据存储方式总共同拥有五种,各自是:Shared Prefere ...

  3. Lingoes 一款功能强大、简明易用的多语言词典和文本翻译软件

    Lingoes 软件自述 Lingoes 是一款功能强大.简明易用的多语言词典和文本翻译软件,支持多达80种语言互查互译,这些语言包括 英.法.德.意.俄.中.日.韩.西.葡.阿拉伯语 及更多... ...

  4. Is there a way to detect if call is in progress? Phone Event

    First you need 3 profiles to monitor the phone state: Event: Phone IdleVariable Clear %Phoning Event ...

  5. linux 字符终端terminal下 ftp的配置和启用

    1. ftp组件一般不是linux的自带组件,在ubuntu 12中,就自带了ftp组件 vsftp,而在redhat 9中,就没有自带需要从安装光盘中或下载相应的ftp的rpm包. ~$ sudo ...

  6. 使用开源库 SDWebImage 异步下载缓存图片(持续更新)

    source  https://github.com/rs/SDWebImage APIdoc  http://hackemist.com/SDWebImage/doc Asynchronous im ...

  7. spring IOC的常见几种以来注入的方式

    在spring ioc中有三种依赖注入,分别是:a.接口注入:b.setter方法注入:c.构造方法注入: 接口注入: public class ClassA { private InterfaceB ...

  8. Git教程之工作区和暂存区

    工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:

  9. @Java类加载的过程

    前言 我们写的源程序.java文件经过编译后成为了.class字节码文件,.class文件中描述了类的各种信息,最终都需要加载到虚拟机(JVM)之后才能运行和使用.而虚拟机如何加载这些.class文件 ...

  10. 混沌数学之Arnold模型

    相关软件混沌数学之离散点集图形DEMO 相关代码: class ArnoldEquation : public DiscreteEquation { public: ArnoldEquation() ...