1042: 小丑排序
来源:互联网 发布:格力电器 知乎 编辑:程序博客网 时间:2024/04/27 21:02
1042: 小丑排序
时间限制: 1 Sec 内存限制: 128 MB提交: 124 解决: 102
[提交][状态][讨论版]
题目描述
你在信天翁马戏团(是的,它是由一群小丑组成)从事管理工作,你刚刚写完一个程序的输出是将他们的姓名按长度为非递减的方式排列,名称列表(使每名至少只要它之前的)。然而,你的老板不喜欢这种输出方式,而是希望输出出现更对称,较短的字符串在顶部和底部,而较长的字符串在中间。他的规则是,每一对名称都是在该列表的相对的两端,并且在该组中的第一个名字总是在列表的顶部。比如在下面的第一个例子中,Bo和Pat是第一对,Jean和Kevin是第二对,等等。
输入
输入由1到多个字符串集合组成,最后一行为0表示输入结束,每个集合开始于一个整数n,表示该集合字符串的个数,接下来n行由n个字符串按长度非递减的方式排列,每个集合至少包含一个但不超过15个字符串,每个字符串不超过25个字符。
输出
对于每个集合,第一行输出"set-n", n从1开始,接下来的若干行对应输入每个集合重新排列的结果,如样例所示。
样例输入
7BoPatJeanKevinClaudeWilliamMarybeth6JimBenZoeJoeyFrederickAnnabelle5JohnBillFranStanCece0
样例输出
set-1BoJeanClaudeMarybethWilliamKevinPatset-2JimZoeFrederickAnnabelleJoeyBenset-3JohnFranCeceStanBill
#include<iostream>using namespace std;int main(){int n;int count(1);while(cin>>n&&n!=0){string a[n];for(int i=0;i<n;i++)cin>>a[i];int i=0;cout<<"set-"<<count<<endl;do{cout<<a[i]<<endl;i+=2;}while(i<n);if(n%2==0)for(int j=n-1;j>0;j=j-2)cout<<a[j]<<endl;elsefor(int j=n-2;j>0;j=j-2)cout<<a[j]<<endl;count++;}return 0;}下面是我师父写的:
#include<iostream>using namespace std;void strcp(char a[],char b[]){ int i; for(i=0;b[i]!='\0';i++){ a[i]=b[i]; } a[i]='\0';}int main(){ int cases=0; int n; char name_list[15][26]; char out_list[15][26]; char temp[26]; while(cin>>n){ if(n==0) break; for(int i=0;i<n;i++){ cin>>name_list[i]; } int j=0; for(int i=0;i<n/2;i++){ strcp(out_list[i],name_list[j]); strcp(out_list[n-1-i],name_list[j+1]); j+=2; } if(n%2!=0) strcp(out_list[n/2],name_list[j]); cases++; cout<<"set-"<<cases<<endl; for(int i=0;i<n;i++) cout<<out_list[i]<<endl; }}
1 0
- 1042: 小丑排序
- 小丑排序
- 问题 : 小丑排序
- 小丑
- 小丑
- 卑微的小丑
- 关于IT小丑
- 程序员?还是小丑?
- 程序员?还是小丑?
- 小丑和皮球
- 程序员?还是小丑?
- 关于IT小丑
- html5 canvas 与小丑。
- 筑梦小丑
- 笼子里的小丑
- java小丑的毕业设计趣事
- HTML5 canvas 之 小丑鱼
- 小丑鱼的.NET书籍推荐
- 利用input工具发送按键事件
- C++实现二叉排序树BSTree --插入删除摧毁查找等操作
- 链栈
- Android开发之Fragment懒加载技术
- 聊一聊前端存储那些事儿
- 1042: 小丑排序
- jquery-easyui弹出对话框被ActiveX控件遮挡
- Andrew NG基于飞行器的机器学习应用
- Vue开发环境搭建
- 树
- Intellij IDEA【模拟http请求】
- [Machine Learning]--Predicting numeric values: Regression
- DataBinding简单使用
- Unity3D for VR 学习(10): Unity LOD Group 组件