题目描述

奶牛们正在玩一种包含N个骨牌的游戏。每个骨牌的两端各有1个0到9(包含0和9)的数字,例如:

+---+
| 5 |
+---+
| 2 |
+---+

下面三块排成一排的骨牌表示2个10进制数:

+---+ +---+ +---+
| 5 | | 3 | | 4 |   5 * 100 + 3 * 10 + 4 * 1 = 534
+---+ +---+ +---+
| 2 | | 4 | | 1 |   2 * 100 + 4 * 10 + 1 * 1 = 241
+---+ +---+ +---+

当然了,每块骨牌都可以旋转180度,也就是交换两端的数字,例如:

+---+      +---+
| 5 |      | 2 |
+---+  -   +---+
| 2 |      | 5 |
+---+      +---+

这种特殊的游戏的目标就是使得N块骨牌所组成的2个10进制数之和越大越好。比如上面的例子,最大的和就是775。你的任务就是计算出这个最大值。

输入格式

第1行:一个整数N(1<=N<=40);

第2..N+1行:每行两个整数,表示每块骨牌两端的数字。

输出格式

一行仅一个整数,表示按游戏规则所能达到的和的最大值。

样例

输入数据 1

3
1 4
2 5
3 4

输出数据 1

775

思路:

显然,多米诺骨牌旋转后,两端之和仍然不变(5 + 7 = 7 + 5)

不妨将每个多米诺骨牌都看成一个数(两端数字之和)

以下列样例为例

5

2 7

5 6

4 9

8 3

5 4

这五个多米诺骨牌可表示成 9(2 + 7) 11(5 + 6) 13(4 + 9) 11(8 + 3) 9(5 + 4)

可将他们进行从小到大排序 9 9 11 11 13(数字小则在低位,大则在高位)

由低位到高位进位得答案为991241

由高位往低位逆序输出,答案为142199

代码如下:

#include <bits/stdc++.h>using namespace std;
int n;
vector<int>A,B,C;
void remov(vector<int>&a){int t = 0;for(int i = 0;i <= a.size() - 1;i ++){t += a[i];a[i] = t % 10;t /= 10;}while(t){a.push_back(t % 10);t /= 10;}while(a.size() > 1 && a.back() == 0)a.pop_back();
}
bool cmp(int x,int y){return x < y;
}
void write(vector<int>&A){for(int i = A.size() - 1;i >= 0;i --) printf("%d",A[i]);
}
int main(){scanf("%d",&n);for(int i = 1,x,y;i <= n;i ++){scanf("%d%d",&x,&y);C.push_back(x + y);}sort(C.begin(),C.end(),cmp);remov(C);write(C);return 0;
}

本题主要难度在于猜到各个多米诺骨牌间竟然能swap(?

GREEN牛的骨牌[cowdom]相关推荐

  1. Python入门到实践(上)(牛客网题库)day2

    第一题: 创建一个列表my_list,其中包含[1, 1 000]中的所有整数, 再使用 min() 和 max() 核实该列表确实是从 1 开始,到 1 000 结束的. 此外,再对这个列表调用函数 ...

  2. (Python) 牛客 在线编程 python入门

    文章目录 前言 AC代码 01 输入输出 NP1 Hello World! NP2 多行输出 NP3 读入字符串 NP4 读入整数数字 NP5 格式化输出(一) NP6 牛牛的小数输出 02 类型转换 ...

  3. 牛客面试题HTML与CSS部分

    目录 一.说一说HTML语义化 二.说一说盒模型 三.说一说BFC 补充:什么是高度塌陷,如何解决高度塌陷: 补充:块级元素和行内元素 补充:文档流 四.说一说浮动 五.说一说样式优先级的规则是什么 ...

  4. 题解 洛谷 P3069 [USACO13JAN]牛的阵容Cow Lineup

    洛谷P3069[USACO13JAN]牛的阵容CowLineup\color{#00F}{洛谷\ P3069\ [USACO13JAN]牛的阵容Cow Lineup}洛谷 P3069 [USACO13 ...

  5. 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛H题小Y与多米诺骨牌(线段树优化dp)

    题意 题目链接:https://www.nowcoder.com/acm/contest/91/H 来源:牛客网 题解 设l[i]l[i]l[i]为向左推第iii个骨牌最远能影响到的骨牌的编号,r[i ...

  6. wot的游戏引擎很牛吧_WOT排名,“如何”极客通讯以及您

    wot的游戏引擎很牛吧 Over the last few days, we've had a bunch of readers email us complaining that WOT (Web ...

  7. wot的游戏引擎很牛吧_使用WOT享受更安全的Web浏览

    wot的游戏引擎很牛吧 Need a quick and easy way to tell if a website is bad news for you to visit?  With a qui ...

  8. 牛人的ACM经验 (转)

     牛人的ACM经验 (转) 一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的           应用(二叉排序树,判定树,博弈树,解答树等) 3 ...

  9. 实现一款俄罗斯方块小游戏非常简单!但是要实现AI自动俄罗斯方块才算牛逼!

    前言 最近刷抖音,看到一个玩俄罗斯方块的直播,居然玩到九万多分,也是个奇人,关键还有大几千人在那里看直播!这游戏有那么难吗?我试着玩了一下,最高也就玩到一千多分就玩不下去了!后面就图像想到,我是不是可 ...

最新文章

  1. Java中事件监听机制
  2. opengl加载显示3D模型RAW类型文件
  3. Django ORM
  4. Linux SSH远程管理故障如何排查?
  5. C#LeetCode刷题之#15-三数之和(3Sum)
  6. Python MetaClass
  7. 男生计算机学校,杭州2021年男生读什么计算机学校
  8. 百度地图开发只显示网格不显示地图信息
  9. iOS:授权用户定位NSLocationManager的使用
  10. 收藏其他博客园主写的代码,学习加自用。先表示感谢!!!
  11. 魔鬼作坊端游脱机封包辅助制作
  12. macOS 安装老旧版本的 adobe 应用
  13. Convex Clustering(凸聚类)
  14. 一文带你全方位了解与投递EI
  15. powerha_在IBM PowerHA集群环境中实现存储数据的服务器端缓存
  16. TOEFL wordlist 6
  17. 输入一个数字,在数组中查询是否存在,如果存在则显示其索引
  18. 用python自己动手做一个小游戏01
  19. 分享一个c++连线小游戏
  20. 设计模式之 SOA面向服务的体系

热门文章

  1. lucene工具类-DocIdsWriter
  2. 2021高考查询成绩南溪一中,烟花、撸串、喜报!宜宾高考查分夜晚有点“惊心动魄”~...
  3. Python识别图片出现的问题及解决办法
  4. 汇总下关于安全的13款必备工具
  5. 害人基金:鹏华招华一年持有期混合A
  6. enq: TX - row lock contention案例
  7. 很有意思的一篇文章——写小论文论(转自吴志峰教授的blog_写不出论文的几种人)
  8. mape( mean absolute percent error)
  9. 用友加快布局企业社交与协同 构建社会化商业战略版图
  10. 正则表达式的一些元符号