标题吸引人吧
70求调
#include<bits/stdc++.h>
using namespace std;
string s1[1005];
string s2[1005][1005];
string ss[1005];
int a[1005];
int k[1005];
bool l[1005];
int m;
map<string,int> c;
bool f(string ss1[],string ss2[])
{
for(int i=1;i<=m;i++)
{
int h=c[ss[i]];
if(ss1[h]!=ss2[h])
{
if(!a[i])
{
return ss1[h]>ss2[h];
}
else
{
return ss1[h]<ss2[h];
}
}
}
return 0;
}
string sss(string s)
{
int x=0;
string s1="";
while(s[x]==' ')
{
x++;
}
for(;x<s.size();x++)
{
s1+=s[x];
}
return s1;
}
bool g(string s)
{
for(int i=0;i<s.size();i++)
{
if(!('0'<=s[i]&&s[i]<='9'))
{
return 0;
}
}
return 1;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,x=1;
cin>>n;
n--;
string s;
cin>>s;
cout<<s<<"\n";
for(int i=0;i<s.size();i++)
{
if(s[i]==',')
{
x++;
}
else
{
s1[x]+=s[i];
}
}
for(int i=1;i<=x;i++)
{
c[s1[i]]=i;
}
for(int i=1;i<=n;i++)
{
int z=1;
cin>>s;
for(int j=0;j<s.size();j++)
{
if(s[j]==',')
{
z++;
}
else
{
s2[i][z]+=s[j];
}
}
}
for(int i=1;i<=x;i++)
{
if(g(s2[1][i]))
{
int z=0;
for(int j=1;j<=n;j++)
{
z=max(z,(int)s2[j][i].size());
}
for(int j=1;j<=n;j++)
{
int o=z-s2[j][i].size();
for(int k=1;k<=o;k++)
{
s2[j][i]=" "+s2[j][i];
}
}
}
}
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>ss[i];
a[i]=(ss[i][ss[i].size()-1]=='+');
ss[i].erase(ss[i].size()-1,1);
// cout<<ss[i]<<"\n";
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(f(s2[i],s2[j]))
{
swap(s2[j],s2[i]);
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<x;j++)
{
cout<<sss(s2[i][j])<<',';
}
cout<<sss(s2[i][x])<<"\n";
}
return 0;
}