爱晚亭哦 @ 2018-08-03 15:51:12
望dalao说明一下为什么相同代码会有不同分数,并且把代码改为AC(qwq)
#include<cstdio>
int main()
{
int n,i,j,t;
scanf("%d",&n);
int a[n+1],b[n+1],c[n+1],d[n+1],sum[n+1];
for(i=1;i<=n;i++)
{
scanf("%d %d %d",&a[i],&b[i],&c[i]);
sum[i]=a[i]+b[i]+c[i];
d[i]=i;
}
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n+1;j++)
{
if(sum[i]<sum[j])
{
t=sum[i];
sum[i]=sum[j];
sum[j]=t;
t=a[i];
a[i]=a[j];
a[j]=t;
t=d[i];
d[i]=d[j];
d[j]=t;
}
if(sum[i]==sum[j]&&a[i]<a[j])
{
t=sum[i];
sum[i]=sum[j];
sum[j]=t;
t=a[i];
a[i]=a[j];
a[j]=t;
t=d[i];
d[i]=d[j];
d[j]=t;
}
if(sum[i]==sum[j]&&a[i]==a[j]&&d[i]>d[j])
{
t=sum[i];
sum[i]=sum[j];
sum[j]=t;
t=a[i];
a[i]=a[j];
a[j]=t;
t=d[i];
d[i]=d[j];
d[j]=t;
}
}
}
for(i=1;i<=5;i++)
printf("%d %d\n",d[i],sum[i]);
}
by cqqqwq @ 2018-08-03 15:59:12
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n+1;j++)//<--
{
}
}
改为
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)//<--
{
}
}
即可。
另:推荐学习一下swap()
函数的使用。
by cqqqwq @ 2018-08-03 15:59:33
@True_konjac
by 爱晚亭哦 @ 2018-08-03 16:01:11
谢谢