#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#include<cctype>//头文件准备#defineitnint#definegIgiusingnamespace std;inlineintgi(){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;intmain(){
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;//输出答案}return0;}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· DeepSeek V3 两周使用总结
· 回顾我的软件开发经历(1)
· C#使用yield关键字提升迭代性能与效率
· 低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解
· 4. 使用sql查询excel内容