Uva400——Unix ls

来源:互联网 发布:上位机软件开发 编辑:程序博客网 时间:2024/06/05 01:50
#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;}

0 0