南阳oj 一种排序 题目8
2015-07-30 15:51
381 查看
#include<stdio.h>
#include<stdlib.h>
struct node
{
int b,l,k;
}s[1000];
int cmp(const void *a,const void *b)//结构体三级排序
{
struct node *c=(node *)a;
struct node *d=(node *)b;
if(c->b!=d->b) return c->b-d->b;
else
if(c->l!=d->l) return c->l-d->l;
else return c->k-d->k;
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int m,i,a,b;
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d %d %d",&s[i].b,&a,&b);
s[i].l=a>b?a:b;//长取大的
s[i].k=a<b?a:b;//宽取小的
}
qsort(s,m,sizeof(s[0]),cmp);
printf("%d %d %d\n",s[0].b,s[0].l,s[0].k);
i=1;
while(i<m)
{
if(s[i].b!=s[i-1].b||s[i].l!=s[i-1].l||s[i].k!=s[i-1].k)
printf("%d %d %d\n",s[i].b,s[i].l,s[i].k);
i++;
}
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
struct node
{
int b,l,k;
}s[1000];
int cmp(const void *a,const void *b)//结构体三级排序
{
struct node *c=(node *)a;
struct node *d=(node *)b;
if(c->b!=d->b) return c->b-d->b;
else
if(c->l!=d->l) return c->l-d->l;
else return c->k-d->k;
}
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int m,i,a,b;
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d %d %d",&s[i].b,&a,&b);
s[i].l=a>b?a:b;//长取大的
s[i].k=a<b?a:b;//宽取小的
}
qsort(s,m,sizeof(s[0]),cmp);
printf("%d %d %d\n",s[0].b,s[0].l,s[0].k);
i=1;
while(i<m)
{
if(s[i].b!=s[i-1].b||s[i].l!=s[i-1].l||s[i].k!=s[i-1].k)
printf("%d %d %d\n",s[i].b,s[i].l,s[i].k);
i++;
}
}
return 0;
}
相关文章推荐
- Android Splash 页面
- 多个excel文档合并到一个excel文档里
- C++学习笔记(四)
- Servlet实现图片验证码
- [Linux] - CentOS 安装nginx
- 如何过上简单的生活
- with: __enter__ and __exit__
- C#生成Code39条形码【非条形码字体】
- SSH配置拦截器
- neutron router-update如何增加路由
- 黑马程序员--C语言-指针函数及应用
- mongodb的用户认证
- java string 中文转换UTF-8
- 面向对象链接整理
- android:gravity="right" 没有居右侧
- Android 客户端登陆超时退出处理方案
- Eclipse 编译错误 Access restriction:The type *** is not accessible due to restriction on... 解决方案
- mysql处理上百万条的数据库如何优化语句来提高处理查询效率
- linux下vsftp软件正常启动了,也能正常连接,但是就是没办法正常浏览文件夹
- C#生成Code39条形码【非条形码字体】