Uva400 Unix is

来源:互联网 发布:读博士 知乎 编辑:程序博客网 时间:2024/05/18 02:06
#include<iostream>#include<string>#include<algorithm>using namespace std;const int maxcol=60;const int maxn=100+5;string filenames[maxn];//输出字符串s,长度不足len时补足字符extravoid print(const string& s,int len,char extra){cout<<s;for(int i=0;i<len-s.length();i++)cout<<extra;}int main(){int n;while(cin>>n){int M=0;for(int i=0;i<n;i++){cin>>filenames[i];M=max(M,(int)filenames[i].length());}//计算列数cols和行数rowsint cols = (maxcol - M) / (M + 2) + 1, rows = (n - 1) / cols + 1; print("", 60, '-'); cout<<"\n"; sort(filenames,filenames+n); for(int r=0;r<rows;r++) { for(int c=0;c<cols;c++) { int idx=c*rows+r; if(idx<n) print(filenames[idx],c==cols-1?M:M+2,' '); } cout<<"\n"; }} return 0;} 
勉强算到排序里面吧
0 0
原创粉丝点击