c++,noi成绩排序那题试了好多次都是wrong answer,但是自己实在找不出问题,有人来帮忙看看代码哪出错了吗?
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
struct node{
char a[20];
int b;
};
bool cmp(node x,node y)
{
if(x.b==y.b)
{
if(strcmp(x.a,y.a)<0)
{
return x.a>y.a;
}
else if(strcmp(x.a,y.a)>0)
{
return y.a>x.a;
}
else
{
return x.a>y.a;
}
}
return x.b>y.b;
}
int main()
{
int a,i,j;
cin>>a;
node b[a];
for(i=0;i<a;i++)
{
cin>>b[i].a>>b[i].b;
}
sort(b,b+a,cmp);
for(i=0;i<a;i++)
{
cout<<b[i].a<<" "<<b[i].b<<endl;
}
}