一种排序 NYOJ

来源:互联网 发布:zec挖矿软件 编辑:程序博客网 时间:2024/04/28 19:14
#include<iostream>#include<stdio.h>#include<algorithm>using namespace std;struct cc{    int n;    int l;    int w;}shape[1005];int cmp(struct cc x,struct cc y){    if(x.n == y.n)        if(x.l == y.l)            return x.w<=y.w;        else            return x.l<=y.l;    return x.n<=y.n;}int main(){    int n;    int m;    int t;    int i;    scanf("%d",&n);    while(n--)    {        scanf("%d",&m);        for(i=0; i<m; i++)        {            scanf("%d %d %d",&shape[i].n,&shape[i].l,&shape[i].w);            if(shape[i].l<shape[i].w)            {                t = shape[i].l;                shape[i].l = shape[i].w;                shape[i].w = t;            }        }        sort(shape,shape+m,cmp);//注意第二个参数是元素个数比下标边界大1        printf("%d %d %d\n",shape[0].n,shape[0].l,shape[0].w);        for(i=1; i<m; i++)        {            if(shape[i].n==shape[i-1].n&&\               shape[i].l==shape[i-1].l&&\               shape[i].w==shape[i-1].w)               continue;            else                printf("%d %d %d\n",shape[i].n,shape[i].l,shape[i].w);        }    }}

0 0
原创粉丝点击