400:Unix ls

原创 2018年04月17日 21:21:18

Unix ls

 
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int len = 60 + 2;
void print(const string& s,int len,char extra){
    cout<<s;
    for(int i = 0;i < len - s.size();i++) cout<<extra;
}
int main(){
    int n;
    while(cin>>n){
        string s;
        int maxlen = 0;
        vector<string>file;
        for(int i = 0;i < n;i++){
            cin>>s;
            maxlen = max(maxlen,(int)s.size()); // (int)
            file.push_back(s);
        }
        sort(file.begin(),file.end());
        int per = len / (maxlen+2),row = n / per;
        if(n % per) row += 1;
        print("-",60,'-');
        cout<<endl;
        for(int i = 0;i < row;i++){
            for(int j = 0;j < per;j++){
                int index = j*row + i;
                if(index < n) print(file[index],c == per-1 ? maxlen : maxlen + 2,' ');
            }
            cout<<endl;
        }
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37754288/article/details/79981064

rfc1945-http1.0自译本-(3)

 要解释的名词=名词解释(name = definition)规则的名字(name)就是它本身(不带任何尖括号,“”,“>”),后面跟个等号=,然后就是该规则的定义。如果规则需要用多个行来描述,利用空...
  • chifire
  • chifire
  • 2001-02-16 11:26:00
  • 793

uva 400 - Unix ls

Unix ls  The computer company you work for is introducing a brand new computer line and is ...
  • Frankiller
  • Frankiller
  • 2012-06-12 13:40:04
  • 2688

uva 400 Unix ls 文件输出排版 排序题

这题的需要注意的地方就是计算行数与列数,以及输出的控制。 题目要求每一列都要有能够容纳最长文件名的空间,两列之间要留两个空格,每一行不能超过60。 简单计算下即可。 输出时我用循环输出空格来解决...
  • hcbbt
  • hcbbt
  • 2013-07-24 00:30:16
  • 2828

UVA 400-Unix ls【字符串】

原题网址: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p...
  • liuke19950717
  • liuke19950717
  • 2015-12-03 21:01:17
  • 367

例题5-8 Unix ls 命令 UVa400

算法竞赛入门经典(第2版) 第5章C++与STL入门 例题5-8 Unix ls 命令  UVa400 感悟。 1、从网站下载英文原题,重点在看输入输出数据与格式。 2、...
  • mrcrack
  • mrcrack
  • 2016-11-23 20:57:57
  • 669

uva 400 Unix ls

这道题的要点是首先必须算出最少要分的行数,也就是求最多可以分多少列,分的列数如果使得一行的总宽度大于60就到达列数的上界了,根据分的列数和行数以及单词的序号可以求出单词在最后打印出来的时候的行数和列数...
  • xiaohaowudi
  • xiaohaowudi
  • 2013-09-23 10:30:46
  • 488

Uva - 400 - Unix ls

先计算出最长文件的长度M,然后计算列数和行数,最后输出即可。 AC代码: #include #include #include #include #include #include #...
  • zyq522376829
  • zyq522376829
  • 2015-06-12 17:15:48
  • 390

UVA 400 Unix ls

题目Unix的ls命令分析屏幕宽度60,每列间距2,逐列打满,关键在于列数和行数的计算,详见代码 : )代码#include #include #include int cmp(const voi...
  • lab103
  • lab103
  • 2015-07-26 20:37:44
  • 184

UVA - 400 Unix ls

Unix ls Time Limit:3000MS    Memory Limit:0KB    64bit IO Format:%lld & %llu Description The ...
  • Jvc__
  • Jvc__
  • 2014-06-17 15:06:59
  • 284

Uva 400 Unix ls

Unix ls Time Limit:2000MS    Memory Limit:65536KB    64bit IO Format:%lld & %llu SubmitStatusPra...
  • HelloWorld10086
  • HelloWorld10086
  • 2014-07-23 17:02:29
  • 471
收藏助手
不良信息举报
您举报文章:400:Unix ls
举报原因:
原因补充:

(最多只允许输入30个字)