zoukankan      html  css  js  c++  java
  • 1042: 小丑排序

    1042: 小丑排序

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 149  解决: 121
    [提交][状态][讨论版]

    题目描述

    你在信天翁马戏团(是的,它是由一群小丑组成)从事管理工作,你刚刚写完一个程序的输出是将他们的姓名按长度为非递减的方式排列,名称列表(使每名至少只要它之前的)。然而,你的老板不喜欢这种输出方式,而是希望输出出现更对称,较短的字符串在顶部和底部,而较长的字符串在中间。他的规则是,每一对名称都是在该列表的相对的两端,并且在该组中的第一个名字总是在列表的顶部。比如在下面的第一个例子中,Bo和Pat是第一对,Jean和Kevin是第二对,等等。

    输入

    输入由1到多个字符串集合组成,最后一行为0表示输入结束,每个集合开始于一个整数n,表示该集合字符串的个数,接下来n行由n个字符串按长度非递减的方式排列,每个集合至少包含一个但不超过15个字符串,每个字符串不超过25个字符。

    输出

    对于每个集合,第一行输出"set-n", n从1开始,接下来的若干行对应输入每个集合重新排列的结果,如样例所示。

    样例输入

    7
    Bo
    Pat
    Jean
    Kevin
    Claude
    William
    Marybeth
    6
    Jim
    Ben
    Zoe
    Joey
    Frederick
    Annabelle
    5
    John
    Bill
    Fran
    Stan
    Cece
    0

    样例输出

    set-1
    Bo
    Jean
    Claude
    Marybeth
    William
    Kevin
    Pat
    set-2
    Jim
    Zoe
    Frederick
    Annabelle
    Joey
    Ben
    set-3
    John
    Fran
    Cece
    Stan
    Bill

    提示

     

    来源

    #include <iostream>
    using namespace std;
    int main(){
     int n,i,k,num=1;
     string a[100],b[100];
     while(cin>>n&&n!=0){
      k=0;
      for(i=0;i<n;i++){
      cin>>a[i];
         }
      for(i=0;i<n;i=i+2){
       if(i==n-1){
        b[k]=a[i];
       }else{
        b[k]=a[i];
        b[n-1-k]=a[i+1];
        k=k+1;
       }
      }
     cout<<"set-"<<num++<<endl;
     for(i=0;i<n;i++){
      cout<<b[i]<<endl;
     }
     }
     
     
     return 0;
    }

  • 相关阅读:
    前端笔试题目总结——应用JavaScript函数递归打印数组到HTML页面上
    HTM5新增结构化元素&非结构化元素&新增属性详解
    HTML 5 与HTML 4 的区别
    HTML5框架、背景和实体、XHTML的使用规范
    百度前端笔试题目--css 实现一个带尖角的正方形
    HTML5表单提交和PHP环境搭建
    HTML5列表、块、布局
    HTML5 格式化、样式、链接、表格
    2020-09-13助教一周总结(第二周)
    2020-09-10上课小结
  • 原文地址:https://www.cnblogs.com/lchzls/p/5781742.html
Copyright © 2011-2022 走看看