Problem G: 规范序排列

Time Limit: 1 Sec  Memory Limit: 16 MB
Submit: 1127  Solved: 651
[Submit][Status][Web Board]

Description

规范序是一种对字符串比较的排序规则,定义如下:

1 串长小的排在前面;
2 相同串长的按照字典序排列顺序。

串的字典序遵循如下递归定义:

1 两串的前n-1个字符相同,第n个字符字典序小的排在前面;
2 只有两串的字符完全相同时,才有两串相等。

字符的字典序即按照字母排列的顺序,即a, b, ..., z。ASCII码范围内的字符串的字典序比较可以用strcmp()函数(原型和功能见HINT)完成。

Input

第一行输入为一个整数N(N<=100),后接N行,每行一个字符串。每个字符串仅由小写字母“a”~“z”组成,长度不超过10个字符。

Output

输出为N行,按照字符串的规范序排列,规范序小的排前面。

Sample Input

10
abc
bc
aca
ca
c
aac
aba
bc
da
ba

Sample Output

c
ba
bc
bc
ca
da
aac
aba
abc
aca

HINT

原型: int strcmp(const char *s1,const char * s2);
功能:比较字符串s1和s2。
当s1<s2时,返回值<0
当s1==s2时,返回值=0
当s1>s2时,返回值>0
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct hehe
{char zf[15];int len;
};
int main()
{int N;struct hehe ch[105];scanf("%d",&N);int g = 0;for(g = 0; g < N;g++){scanf("%s",ch[g].zf);ch[g].len = strlen(ch[g].zf);}int i,j;for(i = 0;i < N;i++)for(j = N-1;j > i;j--){if (ch[i].len > ch[j].len){struct hehe temp;temp = ch[i];ch[i] = ch[j];ch[j] = temp;}}for(i = 0;i < N;i++)for(j = N-1;j > i;j--){int t = strcmp(ch[i].zf,ch[j].zf);if (t > 0 && ch[i].len == ch[j].len){struct hehe temp;temp = ch[i];ch[i] = ch[j];ch[j] = temp;}}for(g = 0; g < N;g++){puts(ch[g].zf);}return 0;
}/**************************************************************Problem: 1247User: 201401061013Language: CResult: AcceptedTime:0 msMemory:748 kb
****************************************************************/

Problem G: 规范序排列相关推荐

  1. codevs 1013 求先序排列

    题目链接:http://codevs.cn/problem/1013/ 题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度< ...

  2. T1013 求先序排列 codevs

    http://codevs.cn/problem/1013/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果 题目描述 Descripti ...

  3. linux按照目录大小降序排列,Linux du命令查看文件夹大小并按降序排列

    1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du ...

  4. linux du命令 前多少个,Linux du命令查看文件夹大小并按降序排列

    1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du ...

  5. linux反序排列文件,关于linux vim命令 总结

    第 11 页 反序排列的方法: 反序排列的方法: 首先到要反序的第一行,用mt标注当前位置,然后到要替换的反序的最后一行,输入命令:'t+1,.g/^/m 't 可以用.范围(global默认是%)然 ...

  6. Problem G: 求余数

    Problem G: 求余数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 2437  Solved: 666 Description 现在有n(1 ...

  7. 在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。 -- Shirley对比编程珠玑 inShirley

    http://www.cppblog.com/richbirdandy/archive/2008/09/26/61426.html 题目和基本思路都来源网上,本人加以整理. 题目:在一个文件中有 10 ...

  8. Problem G: Array C

    Problem G: Array C Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 0  Solved: 0 Description Giving t ...

  9. linux按文件大小显示,Linux显示按文件大小降序排列

    Linux显示按文件大小降序排列 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ls -ls 总用量 56 12 -rw-r--r-- 1 youhaidon ...

最新文章

  1. map std 浮点数索引_std:map中的浮点键
  2. ByteBuffer支持类型化的put和get。
  3. stm32 web ajax,STM32的WEB服务器怎么返回AJAX的JSON数据格式的?求教!
  4. 如何解决提示the operation % is undefined for the argument type string,int的错误
  5. 返回最大数,不同语言之间的比较
  6. 李佳琦抢了薇娅的流量
  7. 链路状态路由选择LS
  8. OSI模型第一层物理层
  9. 全套AI平面设计软件教程案例素材免费分享
  10. office 2016 安装 excel 最新 数据挖掘插件
  11. JSON 对比工具,优秀的JSON对比工具,对比json数据
  12. 计算机指令执行过程详解
  13. uniapp 集成腾讯云超级播放器问题
  14. 5G(NR)网络中的SRB定义和类型
  15. Vue播放m3u8视频格式的视频监控(适合移动端和pc端),用了Video.js,以及多视频列表循环播放代码,已测试,可播放
  16. Flying Saucer 不支持中文,换行,粗体,CheckBox多选框的解决方案
  17. 亚马逊kindle设置_在亚马逊Kindle上追逐活跃的社会工程欺诈
  18. ubuntu磁盘分区方案
  19. 私域流量有什么特点?
  20. 2022大作业项目报告

热门文章

  1. Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings(翻译)
  2. 内存卡弹出使用驱动器中的光盘之前需要将其格式化实测解决教程
  3. UGUI源码分析:GridLayoutGroup网格布局组件与ContentSizeFitter尺寸调节组件
  4. OKR目标与关键结果法
  5. SOCKS 代理协议漫谈
  6. java.lang.NoClassDefFoundError: Could not initialize class找不类的问题
  7. Cisco 配置 GRE隧道
  8. spark on hive 的部署,和spark on hive (ha)在本地测试步骤
  9. 2020-8-15词汇
  10. MMO之禅(二)职业精神