sicily 1198
来源:互联网 发布:虚拟货币交易平台源码 编辑:程序博客网 时间:2024/06/01 09:50
本来应该算是一道不难的题目吧,但是却走进了误区。一直以为对输入的所有字符串排序一下就可以了,按字典排序小的排前面,也就是直接x1<x2,却总是WA。
后来终于发现了问题:如果就只是对单个字符数组排序的话,ss和ssa毫无疑问会变成ssssa(因为在strcmp函数中ss肯定要小于ssa)。
但是我们实际要的是组合后的字典排序最小,所以应该是ssass。
所以说到底,还是得注意组合这两个字,先组合,后排序比直接排序要来得靠谱!
也就是比较的时候得x1+x2<x2+x1
最终代码如下:
#include <iostream>#include <algorithm>using namespace std;bool cmp(const string &x1,const string &x2){ return x1+x2 < x2+x1; }int main(void){ int t; cin >> t; while(t--) { string s[10]; int n; cin >> n; for(int i=0; i < n; i++) { cin >> s[i]; } sort(s,s+n,cmp); for(int i=0; i < n; i++) { cout << s[i]; } cout << endl; } return 0;}
0 0
- sicily 1198
- sicily 1198
- sicily 1198
- sicily 1198
- Sicily 1198 Substring
- Sicily 1198 Substring
- Sicily 1198 Substring
- sicily 1198 Substring
- Sicily 1198 Substring
- Sicily 1198 Substring
- Sicily 1198 substring及sort方法
- Sicily 1027
- sicily 1007
- sicily 1795
- sicily 1036
- sicily 1419
- sicily 1889
- sicily 1684
- Android数据解析之JSON,网络编程之URL,异步任务AsyncTask讲解
- 如何用C语言(VisualStudio)调用NLPIR进行中文分词
- FZU 2221 RunningMan
- JAVA学习28_ java常见面试题及答案 1-10
- 各邮箱smtp服务器及支持的协议
- sicily 1198
- Codeforces Round #367 (Div. 2) B. Interesting drink 离线操作
- 安卓应用,在存储卡中,增加windows下文件的隐藏属性
- Linux下搭建C/C++开发环境
- LeetCode 23 - Merge k Sorted Lists
- LeetCode 241 - Different Ways to Add Parentheses
- 【笔记】今天貌似遇到了Python 3的bug
- 高手之路——Po学校学习笔记-第七课
- 方法欺骗