【链接】 我是链接,点我呀:)

【题意】

在这里输入题意

【题解】

设n个字符串中出现的最长的为len;
最后一列能容纳len个字符,然后前面的列能容纳len+2个字符。
每行最多60个字符。
按照这样的排版,按照字典序,按列输出每个字符串。

【代码】

#include <bits/stdc++.h>
using namespace std; const int N = 100;
const int M = 60; int n,len;
string s[N + 10 ]; void fil(int num, int used ,char key)
{
for (int i = 0; i < num-used; i++)
putchar(key);
} int main()
{
//freopen("F:\\rush.txt", "r", stdin);
//ios::sync_with_stdio(0), cin.tie(0);
while (cin >> n)
{
len = 0;
for (int i = 0; i < n; i++)
{
cin >> s[i];
len = max(len, (int)s[i].size());
}
int col = (M - len) / (len + 2) + 1;
int row = (n - 1) / col + 1;
sort(s, s + n);
fil(M,0, '-'); puts("");
for (int i = 0, num; i < row; i++)
{
for (int j = 0; j < col; j++)
{
int x = j*row + i;
if (x > n - 1) break;
cout << s[x];
fil(j == col - 1 ? len : len + 2, (int)s[x].size(), ' ');
}
puts("");
}
}
return 0;
}

【例题5-8 UVA - 400】Unix ls的更多相关文章

  1. UVA 400 - Unix ls (Unixls命令)

    csdn : https://blog.csdn.net/su_cicada/article/details/86773007 例题5-8 Unixls命令(Unix ls,UVa400) 输入正整数 ...

  2. UVA 400 Unix ls by sixleaves

    题目其实很简单,答题意思就是从管道读取一组文件名,并且按照字典序排列,但是输入的时候按列先输出,再输出行.而且每一行最多60个字符.而每个文件名所占的宽度为最大文件名的长度加2,除了输出在最右边的文件 ...

  3. Uva - 400 - Unix ls

    先计算出最长文件的长度M,然后计算列数和行数,最后输出即可. AC代码: #include <iostream> #include <cstdio> #include < ...

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

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

  5. UVa 400 Unix Is

    题意:给出n个字符串,按照字典序排列,再按照规则输出. ===学习的紫书,题目意思很清楚,求列数和行数最开始看的时候木有看懂啊啊啊 列数:即为(60-M)/(M+2)+1;即为先将最后那一列减去,算普 ...

  6. UVa - 1593 Unix ls(STL)

    给你一堆文件名,排序后按列优先的方式左对齐输出. 假设最长文件名长度是M,那么每一列都要有M+2字符,最后一列有M字符. inmanip真NB..orz #include <iostream&g ...

  7. UVa 400 Unix Is命令

    简单题 #include <bits/stdc++.h> using namespace std; const int maxn=110; string s[maxn]; int main ...

  8. UVa400.Unix ls

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  9. UVA 400 (13.08.05)

     Unix ls  The computer company you work for is introducing a brand new computer line and is developi ...

随机推荐

  1. POJ 3175 枚举

    思路: 枚举小数点前 的数是啥 判一判 复杂度是根号的-.. 注意精度!!!! //By SiriusRen #include <cmath> #include <cstdio> ...

  2. POJ 2437 贪心+priority_queue

    题意: 思路: 贪心 能不覆盖的就不盖 写得很乱 左闭右开的 temp //By SiriusRen #include <queue> #include <cstdio> #i ...

  3. Linux集群的I/O性能测试

    Linux集群的I/O性能测试   本文介绍利用iozone的性能测试工具,来测试集群性能.测试步骤如下:1.在Server节点上安装iozone(可以到www.iozone.org上下载) #rpm ...

  4. 关于html(meta的常用的用法)

    http://www.haorooms.com/post/html_meta_ds

  5. 小程序中关于获取app实例与当前组件

    1.getApp()来获取 App 实例 2.getCurrentPages()获取前页面栈

  6. Codeforces Round #196 (Div. 2) 少部分题解

    A:sort以后求差值最小 ]; int main() { int n,m; cin>>n>>m; ; i < m ; i++) cin>>a[i]; sor ...

  7. VS Code 关于SFTP上传文件到多服务器的配置

    工欲善其事,必先利其器! 刚学前端的时候一直用的DW来编写代码,其功能非常强大,但在Linux下不能用,所以就转VS Code了. 但是刚开始使用VS Code的时候,很多DW上的功能需要自己安装扩展 ...

  8. Mblog 部署手册

    准备工作 安装 JDK8 安装图片处理工具:GraphicsMagick1.3.20,下载地址 安装 Maven 准备 IDE (如果你不看源码,可以忽略下面的步骤,直接通过Maven编译war包) ...

  9. 洛谷——P3384 【模板】树链剖分

    https://www.luogu.org/problem/show?pid=3384#sub 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作 ...

  10. SSH密码错误几次后封禁登录IP

    #!/bin/bash yum -y install vixie-cron crontabs mkdir -p /usr/local/cron/ cat > /usr/local/cron/ss ...