纸老虎【PATB1070】结绳 (25 分)
1070 结绳 (25 分)
给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。
给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。
输入格式:
每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (2≤N≤104);第 2 行给出 N 个正整数,即原始绳段的长度,数字间以空格分隔。所有整数都不超过104。
输出格式:
在一行中输出能够串成的绳子的最大长度。结果向下取整,即取为不超过最大长度的最近整数。
输入样例:
8 10 15 12 3 4 13 1 15
输出样例:
14
================================================
猛一看好像很麻烦,但其实是纸老虎。
方法:排序,从小到大依次连接,输出结果。
每一次连接时,旧绳子长度 =(旧绳子长度+新绳子长度) / 2。
绳子越早连接,对折的次数越多。
所以越长的绳子,越要靠后连上。
================================================
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){int n;cin >> n;vector<int> v(n);for(int i = 0; i < n; i++)scanf("%d", &v[i]);sort(v.begin(), v.end());double sum = (double)v[0];for(int i = 1; i < n; i++)sum = (sum + v[i]) / 2;printf("%d", (int)sum);return 0;
}
纸老虎【PATB1070】结绳 (25 分)相关推荐
- C++学习之路 | PTA乙级—— 1070 结绳 (25 分)(精简)
1070 结绳 (25 分) 给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连. ...
- 1070 结绳 (25 分)(这该死的测试点)
1070 结绳 (25 分) 给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连. ...
- PAT (Basic Level) Practice (中文)1070 结绳 (25 分) 凌宸1642
PAT (Basic Level) Practice (中文)1070 结绳 (25 分) 凌宸1642 题目描述 给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下 ...
- 【最详细解析】1070 结绳 (25分)_18行代码AC
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的 ...
- 1070 结绳 (25 分)
给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...
- 1070 结绳 (25 分) (C++)
给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...
- 【PAT乙级】1070 结绳 (25 分)
题目地址 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; ...
- 1070. 结绳(25)
1070. 结绳(25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一段一段的绳子,你需要把它们串成一条 ...
- PAT 1070. 结绳(25)-乙级
给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...
- PAT乙级-1070. 结绳(25)
给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...
最新文章
- SQL与NoSQL区别-存储方式
- 怎么自学python软件-你是如何自学 Python 的?
- java获取数据库的列名,类型等信息
- C++ 虚函数和纯虚函数
- mysql索引背后的数据结构及算法
- kibana java_kibana安装
- [html] 如何实现多行文字梯形排版?
- Java 算法 素数分解
- “苹果正在走下神坛” | 畅言
- 第三堂:Java程序流程控制
- 记 笔记软件极力推荐------------->思源
- OSChina 周三乱弹 —— 九招助你工资秒长(干货哟)
- mysql使用存储过程循环修改数据
- 单片机C语言字符串转数字
- 阿里云服务器带宽不够升级怎么收费?
- python 函数基础
- 【JavaScript】(二)俄罗斯方块
- [禅悟人生]在劳动中品味幸福
- jq左右按钮控制内容左右移动
- 怎样用电池给铁锅作防锈