注意细节和初始化。
#include<cstdio>
#include<string>
#include<algorithm>
#include<iostream>
using namespace std;
string ans[],tmp[][];
int m,cnt[],maxv,maxm,n;
int Calc(const string &s,const char &c)
{
if(s.empty()) return ;
int p=,res=,len=s.length(); string t=s;
while()
{
t=t.substr(p,len-p); p=t.find(c);
if(p==-) break;
res++; p++;
}
return res+;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&m); maxm=max(maxm,m);
for(int j=;j<=m;j++) cin>>tmp[i][j];
}
for(int i=;i<=n;i++)
{
maxv=;
for(int j=;j<=maxm;j++)
{
ans[j]+=tmp[i][j];
maxv=max(maxv,cnt[j]=(j== ? : Calc(tmp[i][j],',')));
}
for(int j=;j<=maxm;j++)
for(int k=;k<=maxv-cnt[j]-(i==n)-(!cnt[j]);k++)
ans[j]+=",";
}
for(int i=;i<=maxm;i++) cout<<ans[i]<<endl;
return ;
}