SWUSTOJ #254 翻煎饼
SWUSTOJ #254 翻煎饼
- 题目
- 输入
- 输出
- 样例输入
- 样例输出
- 源代码
题目
麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟。最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼整齐的叠在了一起。 这天,为了庆祝麦兜被保送上研究生,他从煎饼师傅那里买回来一些煎饼请客。但是麦兜买回的煎饼大小不一,麦兜太想吃煎饼了,他想吃这些煎饼中最大的那个。麦兜还知道同学们也很喜欢煎饼,为了表示他的诚意,他想让同学们先吃,麦兜最后吃,因此,麦兜想把煎饼按照从小到大的顺序叠放在一起,大的在最下面。这样麦兜就可以在最后拿到最大的那一块煎饼了。 现在请你帮助麦兜用煎饼师傅翻煎饼的方法把麦兜买的煎饼从小到大的叠在一起。煎饼师傅的方法是用铲子插入两块煎饼之间,然后将铲子上的煎饼翻一转,这样铲子上第一个煎饼就被翻到了顶上,而原来顶上的煎饼则被翻到了刚才插入铲子的地方。麦兜希望这样翻煎饼的次数最少。
输入
输入包括两行,第一行是一个整数n(1<=n<=1000),表示煎饼的个数,接下来的一行有n个不相同的整数,整数间用空格隔开,每个整数表示煎饼的大小(直径),左边表示顶部,右边表示底部。
输出
输出为一行,翻煎饼的最少次数
样例输入
5
5 4 2 3 1
样例输出
4
源代码
#include <stdio.h>
#include <stdlib.h>int main() {int num;int a[1005];scanf("%d", &num);int k = 0;for (int i = 0; i < num; i++)scanf("%d", &a[i]);for(; num > 1; num--) {int max = 0, l = 0;for (i = 0; i < num; i++) {if (a[i] > max) {max = a[i];l = i;}}if (l == 0) {k += 1;for (i = 0; i < num / 2; i++) {int t;t = a[i];a[i] = a[num - 1 - i];a[num - 1 - i] = t;}}else if (l < num - 1) {k += 2;for (i = 0; i < (l + 1) / 2; i++) {int t;t = a[i];a[i] = a[l - i];a[l - i] = t;}for (i = 0; i < num / 2; i++) {int t;t = a[i];a[i] = a[num - 1 - i];a[num - 1 - i] = t;}}}printf("%d\n", k);return 0;
}
SWUSTOJ #254 翻煎饼相关推荐
- SWUST OJ 254: 翻煎饼
标题254: 翻煎饼 题目描述 麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟.最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼 ...
- *2-1 OJ 254 翻煎饼
翻煎饼 题目描述 输入 输出 样例输入 样例输出 源代码 关于这题 题目描述 输入 输出 样例输入 样例输出 源代码 方法1 #include<cstdio> #include<cs ...
- SWUST oj 254: 翻煎饼
题目描述 麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟.最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼整齐的叠在了一起. 这 ...
- swust oj 254 翻煎饼
题目描述 麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟.最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼整齐的叠在了一起. 这 ...
- 刘小白第一个博文——算法分析(翻煎饼)
标题254 翻煎饼 题目描述 麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟.最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼整 ...
- 翻煎饼 swustoj 254
题目描述: 麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟.最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在那里,师傅只需要用铲子翻几下,就让煎饼整齐的叠在了一起. ...
- 翻煎饼问题swust oj~~~254
翻煎饼 1000(ms) 65535(kb) 2001 / 7227 麦兜最喜欢的食物是煎饼,每次在街上看到煎饼摊的时候都会在那里停留几分钟.最吸引麦兜还是煎饼师傅那一手熟练的翻煎饼的技术,一堆煎饼在 ...
- c语言煎饼问题算法,翻煎饼问题(示例代码)
输入 输入包括两行,第一行是一个整数n(1<=n<=1000),表示煎饼的个数,接下来的一行有n个不相同的整数,整数间用空格隔开,每个整数表示煎饼的大小(直径),左边表示顶部,右边表示底部 ...
- 【蓝桥备考-每周一题5】翻煎饼(栈的翻转)★
一:问题 问题描述: 堆栈和队列通常被认为是数据结构的面包和黄油,可用于体系结构.解析,操作系统和离散事件模拟.堆栈在形式语言理论中也很重要.现在的问题涉及黄油和煎饼(而不是面包),同时还有一个根据唯 ...
最新文章
- java预处理指令region_VS #region
- Java进阶篇(五)——Java的I/O技术
- Java中的executeQuery,java连接数据库executeUpdate() 和executeQuery()
- python读取中文txt文本-python读取中文txt文本的方法
- 基于深度学习的图像分类Image classification with deep learning常用模型
- Linux系统巡检项目
- java ee cdi_Java EE CDI程序化依赖关系消歧示例–注入点检查
- 阿里云root密码修改
- python 运行pyc_Pyc文件编译和运行
- Windows Phone7 手机越狱教程
- 计算机图形学完整笔记(七):曲线曲面 - 1
- Excel数据线性回归
- vue 富文本编辑器wangeditor 上传图片
- 篆刻学简体——第一章
- 渗透测试员完整职业指南
- 【大数据分析1】大数据基础理论
- Android Proguard 不混淆所有第三方jar(忽略配置设置)
- (转发)线性代数的本质
- TensorFlow之深层神经网络
- C# Minitab Sigma 无偏常量