我们可以灵活运用\(C++\)的语法来解决此题。

解释一下代码中会出现的语法:

  1. \(string::iterator\ it\)表示定义了一个\(string\)类型的迭代器\(it\),\(^*it\)表示当前字符串的第\(it\)个元素。
  2. \(^*max\)_\(element(tot + 1,tot + m + 1)\)这个函数返回的是一个长的为\(m\)的数组\(tot\)中元素的最大值。

然后就是一些基本的模拟了。

\(AC\)代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>//头文件准备
#define itn int
#define gI gi using namespace std; inline int gi()
{
int f = 1, x = 0; char c = getchar();
while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar();}
while (c >= '0' && c <= '9') { x = x * 10 + c - '0'; c = getchar();}
return f * x;
}//快速读入 int n, m, tot[1005]/*每个文件中最大的列数*/, cnt, sum/*最大的行数*/;
string s, ans[1005]/*每一行的答案*/, tr; int main()
{
n = gi();
for (itn i = 1; i <= n; i+=1)
{
m = gi(), cin >> s;
memset(tot, 0, sizeof(tot));//记得清空数组
ans[0] = ans[0] + s/*加上表头*/, sum = max(sum, m)/*计算最大的行数*/;
for (int j = 1; j <= m; j+=1)
{
cin >> tr;//输入每行的元素
ans[j] = ans[j] + tr;//先加入答案
for (string :: iterator it = tr.begin(); it != tr.end(); it+=1)//遍历第j行
{
tot[j] = tot[j] + (*it == ',');//计算','分隔符个数
}
}
cnt = *max_element(tot + 1,tot + m + 1);//得出最多的','分隔符数量
for (int j = 0; j < 1005; j+=1)//枚举行。因为我们不知道最终答案的行数,因此就要枚举到最大的行数
{
for (int k = tot[j]; k <= ((i == n) ? (cnt - 1) : (cnt)); k+=1)//为答案增加','分隔符,注意判断i==n的情况,此时就要少加上一个','
{
ans[j] = ans[j] + ',';//加上','分隔符
}
}
}
for (int i = 0; i <= sum; i+=1)
{
cout << ans[i] << endl;//输出答案
}
return 0;
}

最新文章

  1. console的高级使用
  2. ORACLE OLAP错误ORA-06512: at &quot;SYS.OLAPIHISTORYRETENTION&quot;
  3. liunx ln -s 软连接
  4. Codeforces Round #286 Div.1 A Mr. Kitayuta, the Treasure Hunter --DP
  5. P1079 Vigen&#232;re 密码
  6. java 查询 mongodb 中的objectid
  7. [实践] ubuntu下编译安装ambari
  8. nodejs爬虫
  9. gcc: multiple definition of [转]
  10. 【转】七个例子帮你更好地理解 CPU 缓存
  11. Orchard工作原理
  12. 显示MYSQL数据库信息
  13. Webservice-Java-CXF
  14. 在前端页面中使用@font-face来显示web自定义字体【转】
  15. C# 如何获取某用户的“我的文档”的目录
  16. hdu149850 years, 50 colors (多个最小顶点覆盖)
  17. 启动ipython notebook(jupyter)
  18. JMX与Spring
  19. Linux下C/C++程序调试基础(GCC,G++,GDB,CGDB,DDD)
  20. Git使用,将本地项目推送到GitHub上

热门文章

  1. 给静态网站的链接添加nofollow属性
  2. SpringBoot之Configuration
  3. 【巨杉数据库SequoiaDB】企业级和开源领域“两开花”,巨杉引领国产数据库创新
  4. 事件&amp;vue修饰符
  5. 题解【洛谷P2679】[NOIP2015]子串
  6. clone()与clone(true)的用法
  7. Intellij IDEA史上最全快捷键大全
  8. react 渲染
  9. Map.getOrDefault被坑小记与optional
  10. Jmeter-几种脚本录制方式