#include<bits/stdc++.h>
using namespace std;
struct node
{
char fruit[110];
char where[110];
int num;
}n[110];
int main()
{
int t;
cin>>t;
for(int e=0;e<t;e++)
{
int m;
cin>>m;
int sum=0;
char a[110],b[110];
int w;
for(int i=0; i<m; i++)
{
if(i==0)
{
cin>>n[i].fruit>>n[i].where>>n[i].num;
sum++;
}
else
{
cin>>a>>b>>w;
int flag=0;
int p=0;
for(int j=0; j<sum; j++)
{
if(strcmp(n[j].fruit,a)==0&&strcmp(b,n[j].where)==0)
{
flag=1;
p=j;
break;
}
}
if(flag==1)
{
n[p].num+=w;
}
else
{
strcpy(n[sum].fruit,a);
strcpy(n[sum].where,b);
n[sum++].num=w;
}
}
}
for(int i=0; i<sum; i++)
{
for(int j=i+1; j<sum; j++)
{
if(strcmp(n[j].where,n[i].where)<0)
{
swap(n[i],n[j]);
}
else if(strcmp(n[j].where,n[i].where)==0)
{
if(strcmp(n[j].fruit,n[i].fruit)<0)
{
swap(n[i],n[j]);
}
}
}
}
for(int i=0; i<sum; i++)
{
if(i==0)
{
cout<<n[i].where<<endl;
cout<<" |----"<<n[i].fruit<<"("<<n[i].num<<")"<<endl;
}
else
{
if(strcmp(n[i].where,n[i-1].where)==0)
{
cout<<" |----"<<n[i].fruit<<"("<<n[i].num<<")"<<endl;
}
else
{
cout<<n[i].where<<endl;
cout<<" |----"<<n[i].fruit<<"("<<n[i].num<<")"<<endl;
}
}
}
if(e!=t-1)
cout<<endl;
}
return 0;
}
水果
最新推荐文章于 2021-02-19 15:26:56 发布