UVA - 400 Unix ls
水题
#include <bits/stdc++.h>
using namespace std;
const int sec=60;
const int maxn=105;
string Fame[maxn];
void 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>>Fame[i];
m=max(m,(int)Fame[i].length());
}
int cols=(sec-m)/(m+2)+1;
int rows=(n-1)/cols+1;
print("",60,'-');
cout<<"\n";
sort(Fame,Fame+n);
for(int r=0;r<rows;r++){
for(int c=0;c<cols;c++){
int idx=c*rows+r;
if(idx<n)
print(Fame[idx],c==cols-1?m:m+2,' ');
}
cout<<"\n";
}
}
return 0;
}
还没有评论,来说两句吧...