UVA 299 Train Swapping
2015-07-26 20:17
405 查看
题目
列车交换分析
冒泡排序呀,问你要交换几次。代码
#include <stdio.h> int s; int bubble(int* tr, int lo, int hi) { int sorted = 1, tmp; while (++lo < hi) if (tr[lo - 1] > tr[lo]) { sorted = 0; tmp = tr[lo]; tr[lo] = tr[lo - 1]; tr[lo - 1] = tmp; s++; } if (!sorted) { bubble(tr, 0, hi--); } else { return s; } } int main(void) { int t, l, i, tr[55]; scanf("%d", &t); while (t--) { scanf("%d", &l); for (i = 0; i < l; i++) scanf("%d", &tr[i]); s = 0; bubble(tr, 0, l); printf("Optimal train swapping takes %d swaps.\n", s); } return 0; }
相关文章推荐
- Android Gradle Plugin指南(三)----依赖关系,Android库和多项目设置
- Swift学习笔记(九)——整型Int在Swift中表示的最大值最小值问题
- [UnityShaderCookbook 读书笔记] [02] 光照模型
- iostream
- Android Gradle Plugin指南(一)——简介 - 琴弦第七的专栏 - 博客频道 - CSDN.NET
- Android Gradle Plugin指南(二)——基本项目 - 琴弦第七的专栏 - 博客频道 - CSDN.NET
- IOS文件下载
- iOS编程——Swift实现一个不断渐变的圆环
- IOS存储目录documents你在哪里啊
- Android 使用handler实现线程间发送消息 (主线程 与 子线程之间)、(子线程 与 子线程之间)
- Swift学习笔记(八)——赋值运算符的返回值问题
- Android百分比布局的解析与扩展
- Android 图形锁的实现
- Swift
- android初识二(电话拨号器&短信发送器)
- Overlapped I/O with APCs
- iOS 单例模式 (设计模式一)
- Android核心基础-5.Android 数据存储与访问-4.ContentProvider 内容提供者-示例(操作联系人)
- Swift学习笔记(七)——高级数据类型之Optionals
- ORA-12528: TNS:listener: all appropriate instances are blocking new connections