SDUT 3437 排序算法
来源:互联网 发布:怎样登录注册域名网站 编辑:程序博客网 时间:2024/04/29 14:52
题目链接: http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=3437
排序算法
Time Limit: 300ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
这是一个简单的排序题!
题面也很简单!
给你一个字符串(保证只包含a~z),把其中的字母按照字母顺序排序!
是不是很简单!
我想你已经迫不及待了吧!
Accept it!
题面也很简单!
给你一个字符串(保证只包含a~z),把其中的字母按照字母顺序排序!
是不是很简单!
我想你已经迫不及待了吧!
Accept it!
输入
多组输入,(约100组),处理到文件结束
每组只有一行,包含一个字符串S(|S| < = 10000000),保证只含有a到z的字符
输出
每组输入输出排序好的字符串
示例输入
zba
示例输出
abz
提示
来源
QAsQ
恩 我不会告诉你这题是得用哈希加桶排的 QAQ
好吧 既然你知道了,那我也不多说了,当初做的时候我连哈希都不知道,这道水题硬是白白没有A掉
首先解释一下300ms时间限制的由来
- #include <cstdio>
- #include <cstring>
- #include <algorithm>
- using namespace std;
- char s[10000005];
- int cmp(const void *a, const void *b)
- {
- return *(char *)a-*(char *)b;
- }
- int main()
- {
- while(~scanf("%s", s))
- {
- qsort(s,strlen(s),sizeof(s[0]),cmp);
- printf("%s\n", s);
- }
- return 0;
- }
3437Time Limit Exceeded310ms0KBg++336B2016-05-06 22:41:53出题人应该是预料到会有人用qsort对字符串排序了233
下面是真正的代码
- #include <bits/stdc++.h>
- char s[10000005];
- int a[26];
- using namespace std;
- int main()
- {
- while(~scanf("%s", s))
- {
- memset(a,0,sizeof(a));
- int n=strlen(s);
- for(int i=0;i<n;i++)
- a[s[i]-'a']++;
- for(int i=0;i<26;i++)
- for(int j=1;j<=a[i];j++)
- printf("%c", 'a'+i);
- printf("\n");
- }
- return 0;
- }
0 0
- SDUT 3437 排序算法
- SDUT排序问题
- SDUT 1591 交叉排序
- <sdut-ACM>交叉排序
- 排序 (sdut oj)
- 排序问题 (sdut oj)
- 字符串排序 (sdut oj)
- sdut acm 插入排序
- SDUT-1196 排序问题
- SDUT-1201 字符串排序
- sdut 字符串排序
- SDUT 2140-拓扑排序
- SDUT 1591 交叉排序
- SDUT 3304 拓扑排序(链表)
- 交叉排序 sdut oj 1591
- SDUT OJ 1591交叉排序
- sdut acm 简单字符串排序
- 简单字符串排序 (sdut oj)
- 第10周项目一-点-圆-圆柱类的设计
- 霍夫变换(Hough)
- ecshop系统中的Ajax使用事例方法
- 大数据技术对高校教学改革的启示
- 杭电 1106
- SDUT 3437 排序算法
- 堆排序
- 大数据场景下linux双网卡bond接入实践
- <Android 应用 之路> 聚合数据SDK
- Python的学习笔记(三)(文件处理)
- BestCoder Round #80 1004 hdu 5668 中国剩余定理(m不互质版)
- 欢迎使用CSDN-markdown编辑器
- 连接符号:#、##
- C# 基础补遗(未完待续)