申請SAE

如果您發現本博客的外觀很難看,那是因為部分外觀文件被中國.國家.防火.牆屏.蔽所致!
請翻~牆!

我的Wordpress博客的地址: http://zhuyf.tk/

2012年1月31日 星期二

[經典算法]字符串的排序 (tyvj 1101)

試題:tyvj 1101  (http://tyvj.cpwz.cn/Problem_Show.asp?id=1101

【題目大意】
給你N(N<=10000)字符串,每個字符串長度小於256,把他們按字典序排序並輸出。

【分析】
C++的快排不是用來吃白飯的~直接調用C++的快排函數,0 ms 無壓力。
為什麼還有很多人會超時啊~




VijosNT Mini 2.0.5.6

#01: Accepted (0ms, 1212KB)
#02: Accepted (0ms, 1036KB)
#03: Accepted (0ms, 1192KB)
#04: Accepted (0ms, 880KB)
#05: Accepted (0ms, 1020KB)
#06: Accepted (0ms, 760KB)
#07: Accepted (0ms, 528KB)
#08: Accepted (0ms, 452KB)
#09: Accepted (0ms, 584KB)
#10: Accepted (0ms, 1084KB)

Accepted / 100 / 0ms / 1212KB




【我的代碼】

C++语言: Codee#25405
01 /*
02 *Problem: Tyvj 1101
03 *Author: Yee-fan Zhu
04 *Website: http://blog.yeefanblog.tk/
05 */
06 #include <iostream>
07 #include <cstring>
08 #include <cstdio>
09 #include <algorithm>
10 using namespace std;
11
12 int compare(const void *a, const void *b) 
13 {  
14     return strcmp((*(string*)a).data(),(*(string*)b).data());
15 }  
16
17 int main()
18 {
19    // freopen("1101.in","r",stdin);
20    // freopen("1101.out","w",stdout);
21     std::ios::sync_with_stdio(false);
22     string str[10001];
23     int n;
24     cin>>n;
25     getline(cin,str[0]);
26     
27     for (int i=1;i<=n;i++)
28         getline(cin,str[i]);
29         
30     qsort(str+1,n+1,sizeof(string),compare);
31     
32     for(int i=2;i<=n+1;i++)
33         cout<<str[i]<<endl;
34     return 0;
35 }

沒有留言:

張貼留言