Codeforces Round #228 (Div. 1) C 贪心
来源:互联网 发布:常州淘宝运营助理工资 编辑:程序博客网 时间:2024/06/11 23:51
嘎嘎,今天被一些事耽误了,但是还是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;}
0 0
- Codeforces Round #228 (Div. 1) C 贪心
- Codeforces Round #207 (Div. 1) C. Compartments (贪心)
- Codeforces Round #380 Div. 1 C. Subordinates(贪心)
- Codeforces Round #311 (Div. 2) C 贪心
- Codeforces Round #363 (Div. 2)-C--贪心
- Codeforces Round #370 (Div. 2) C 贪心
- Codeforces Round #375 (Div. 2) C (贪心)
- Codeforces Round #397(Div. 1 + Div. 2 combined)C. Table Tennis Game 2【贪心】
- Codeforces Round #205 (Div. 2) / 353C Find Maximum (贪心)
- Codeforces Round #217 (Div. 2) / 370C Mittens (构造&贪心)
- Codeforces Round #276 (Div. 2)(C贪心,D)
- Codeforces Round #277 (Div. 2)---C. Palindrome Transformation (贪心)
- Codeforces Round #273 (Div. 2) C.Table Decorations 贪心
- Codeforces Round #277 (Div. 2) C. Palindrome Transformations 贪心
- Codeforces Round #282 (Div. 2) C. Treasure 贪心
- Codeforces Round #288 (Div. 2) C. Anya and Ghosts 贪心
- Codeforces Round #334 (Div. 2)C. Alternative Thinking(贪心)
- Codeforces Round #340 (Div. 2)(C)贪心,模拟
- JAVA设计模式之 状态模式【State Pattern】
- poj 2386 Lake Counting
- Android仿QQ5.0侧滑菜单ResideMenu源码分析
- 数据操作及完整性操作实验代码
- Qt入门之信号与槽机制
- Codeforces Round #228 (Div. 1) C 贪心
- RPM包rpmbuild SPEC文件深度说明
- express开发中的一些技巧方法
- LeetCode OJ 之 Valid Parentheses(有效的括号判断)
- Ubuntu14.04安装软件中遇到的一个错误
- 谈谈嵌入式开发的那些年【附录:独家原创视频教程】
- 树形DP+二分(Information Disturbing HDU3586)
- 天道酬勤
- gcc -l参数和-L参数