码迷,mamicode.com
首页 > 其他好文 > 详细

HOJ-1011 / POJ-1589

时间:2015-11-23 01:00:02      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:

WA了半天。

有如下可能错误:

  每一行的最后是否都是直接换行而没有多余的空格(用N = 17试试)

  用62/max_length而不是60

不明白为什么有人TLE,RE难道是自己写的排序太渣了?。。。那为什么想不开非要自己写排序

这个转置的输出方式真是纠结了我好久,尤其是那些该不该打的空格。

第i行,第j列的字符串是第i+j*y个(y是最终应输出的行数)(数组从0~n-1)

 1 #include<cstdio>
 2 #include<algorithm>
 3 #include<iostream>
 4 #include<cstring>
 5 using namespace std;
 6 
 7 string a[200];
 8 
 9 int main(void)
10 {
11   int n, m;
12   int x, y;
13   int maxn;
14   int p = 0;
15   while(cin>>n){
16     printf("------------------------------------------------------------\n");
17     for(int i = 0; i < n; ++i) cin>>a[i];
18     sort(a, a+n);
19     maxn = 0;
20     for(int i = 0; i < n; ++i)
21       if(maxn < a[i].length())
22     maxn = a[i].length();
23     x = 62/(maxn+2);
24     y = n / x;
25     if(n % x) y++;
26     for(int i = 0; i < y; ++i){
27       for(int j = 0; j < x; ++j){
28     m = i+j*y;
29     if(m >= n) break;
30     else{
31       cout<<a[m];
32       if(m + y < n)
33         for(int k = 0; k < maxn+2-a[m].length(); ++k) cout<< ;
34     }
35       }
36       cout<<endl;
37     }
38   }
39   return 0;
40 }

 

HOJ-1011 / POJ-1589

标签:

原文地址:http://www.cnblogs.com/xuezhonghao/p/4987133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!