您的位置:首页 > 其它

Uva400——Unix ls

2015-10-29 23:02 288 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: