#P1589. Unix ls UVA - 400
Unix ls UVA - 400
本题没有可用的提交语言。
描述
你工作的计算机公司正在推出一个全新的计算机系列,并正在开发一个新的类unix操作系统,与新计算机一起推出。您的任务是编写ls函数的格式化程序。
您的程序最终将从管道中读取输入(尽管现在您的程序将从输入中读取)。程序的输入将由(F)个文件名的列表组成,您将对这些文件名进行排序(根据ASCII字符值升序排序),并根据最长文件名的长度(L)将其格式化为(C)列。文件名的长度将在1到60个字符(包括60个字符)之间,并将格式化为左对齐列。最右边的列将是最长文件名的宽度,所有其他列将是最长文件名的宽度加2。将有尽可能多的列,将适合60个字符。您的程序应该使用尽可能少的行(R),并从左到右填充到最大容量。
Input
输入将包含不确定数量的文件名列表。每个列表将以包含单个整数()的一行开始。然后将有N行,每行包含一个左对齐的文件名,并且整个行的内容(在1到60个字符之间)被认为是文件名的一部分。允许的字符是字母数字(a到z、a到z和0到9)和下列字符集{_}(不包括花括号)。在任何文件名中都不会有非法字符,也不会有完全为空的行。
紧跟在最后一个文件名后面的将是下一个集合的N或文件的结尾。您应该读取并格式化输入中的所有集合。
输出
10
tiny
2short4me
very_long_file_name
shorter
size-1
size2
size3
much_longer_name
12345678.123
mid_size_name
12
Weaser
Alfalfa
Stimey
Buckwheat
Porky
Joe
Darla
Cotton
Butch
Froggy
Mrs_Crabapple
P.D.
19
Mr._French
Jody
Buffy
Sissy
Keith
Danny
Lori
Chris
Shirley
Marsha
Jan
Cindy
Carol
Mike
Greg
Peter
Bobby
Alice
Ruben
------------------------------------------------------------
12345678.123 size-1
2short4me size2
mid_size_name size3
much_longer_name tiny
shorter very_long_file_name
------------------------------------------------------------
Alfalfa Cotton Joe Porky
Buckwheat Darla Mrs_Crabapple Stimey
Butch Froggy P.D. Weaser
------------------------------------------------------------
Alice Chris Jan Marsha Ruben
Bobby Cindy Jody Mike Shirley
Buffy Danny Keith Mr._French Sissy
Carol Greg Lori Peter
来源
美国中南部1995