luogu#P5483. [JLOI2011] 小A的烦恼
[JLOI2011] 小A的烦恼
题目描述
小是公司的一名。公司越来越注重产品使用情况分析,而小的工作就是整天对着一堆数据分析来分析去,没完没了。其中有一个操作是小很头疼的,就是要把多个文件的数据拷到同一个文件中去。
有一天小满怀期待地找到了你,一个高级程序员,她想让你写程序帮她完成这个简单重复性工作。这不是坑爹吗,直接操作还要用到第三方的库,还不如直接写到文件中,让她再手动去转成文件。经过内部沟通协调,最终定下了这个方案。
是一种可支持和格式,且存储方式非常简单。它实际上就是用“,
”来分隔相邻的两个列。比如以下三行数据:
a,a,a
b,,b
,c,c
表示的就是:
a | ||
---|---|---|
b | b | |
c |
现在小想做的就是把各个文件按照从左往右的顺序拷到同一个文件当中。比如文件的数据是:
a1,b1,c1
a2,b2
文件的数据是:
a1,b1,c1,d1
a2,b2
a3,b3,c3
a4
那么她所希望的最终结果是:
a | b | |||||
---|---|---|---|---|---|---|
a1 | b1 | c1 | a1 | b1 | c1 | d1 |
a2 | b2 | a2 | b2 | |||
a3 | b3 | c3 | ||||
a4 |
这个结果在文件里就是:
a,,,b,,,
a1,b1,c1,a1,b1,c1,d1
a2,b2,,a2,b2,,
,,,a3,b3,c3,
,,,a4,,,
以上结果的第一行是每一个文件的文件名,文件名与相应文件的第一列对齐。如果相应文件不止一列,那么其它列用空的单元格来补充。
输入的文件里保证了每一行的末尾都没有“,
”,也就是说像文件的第行的第列一样,如那一格是空的,那么在后面是没有“,
”的。
输出的文件里因为是程序的输出结果,为了简化程序,如果末尾是空的,那么还是会显式输出“,
”,如以上的结果所示。
输入文件保证至少有一行一列非空。
输出的文件要保证下一个文件的第一列要紧邻着上一文件的最后一个非空列的右面。最后一个文件只输出到最后一个非空列。
输入格式
第一行有一个整数(),表示有个文件。
以下个数据块的第一行有一个整数 ()和一个字符串 (),M表示文件的行数,表示文件名。
个数据块的下面行中,每一行是一个字符串(),只包含小写字母、数字和“,
”。
输出格式
输出把个文件的数据合到一个文件的结果。
2
2 a
a1,b1,c1
a2,b2
4 b
a1,b1,c1,d1
a2,b2
a3,b3,c3
a4
a,,,b,,,
a1,b1,c1,a1,b1,c1,d1
a2,b2,,a2,b2,,
,,,a3,b3,c3,
,,,a4,,,