#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string name[105];
const int maxcol = 60;
int max(int x, int y)
{
return x > y ? x : y;
}
void print(const string &s, int len, char extra)
{
cout << s;
for(int i = 0; i < len - s.length(); i++)
cout << extra;
}
int main()
{
// freopen("400.txt", "r", stdin);
int n;
while(cin >> n)
{
int M = 0;
for(int i = 0; i < n; i++)
{
cin >> name[i];
M = max(M, (int)name[i].length());
}
int cols = (maxcol - M) / (M + 2) + 1;
int rows = (n - 1) / cols + 1;
print("", 60, '-');
cout << endl;
sort(name, name + n);
for(int r = 0; r < rows; r++)
{
for(int c = 0; c < cols; c++)
{
int idx = c * rows + r;
if(idx < n)
print(name[idx], c == cols - 1 ? M : M + 2, ' ');
}
cout << endl;
}
}
return 0;
}
Uva400——Unix ls
最新推荐文章于 2020-07-30 10:41:22 发布