1 条题解
-
0
C :
#include<stdio.h> #include<stdlib.h> struct num{ int n,l,w; }nu[1000]; int cmp(const void * x,const void * y){ struct num * a=(struct num *)x; struct num * b=(struct num *)y; if(a->n!=b->n) return (a->n < b->n)?-1:1; else if(a->l!=b->l) return (a->l < b->l)?-1:1; else return (a->w < b->w)?-1:1; } int main() { int N; scanf("%d",&N); while(N--){ int m,i,t; scanf("%d",&m); for(i=0;i<m;i++){ scanf("%d%d%d",&nu[i].n,&nu[i].l,&nu[i].w); if(nu[i].l<nu[i].w){ t=nu[i].l; nu[i].l=nu[i].w; nu[i].w=t; } } qsort(nu,m,sizeof(nu[0]),cmp); for(i=0;i<m;i++){ if(nu[i].n==nu[i+1].n&&nu[i].l==nu[i+1].l&&nu[i].w==nu[i+1].w){ nu[i].n=0; nu[i].l=0; nu[i].w=0; } } for(i=0;i<m;i++) if(nu[i].n!=0 && nu[i].l!=0 && nu[i].w!=0) printf("%d %d %d\n",nu[i].n,nu[i].l,nu[i].w); } return 0; }
C++ :
#include<stdio.h> #include<algorithm> using namespace std; struct student{ int num,length,width; }stu[10010]; bool cmp(student a , student b) { if(a.num<b.num) return true; else if(a.length<b.length&&a.num==b.num) return true; else if(a.length==b.length&&a.num==b.num&&a.width<b.width) return true; return false; } int main() { int N,i,j,m,t; scanf("%d",&m); while(m--){ scanf("%d",&N); for(i=0;i<N;i++){ scanf("%d %d %d",&stu[i].num,&stu[i].length,&stu[i].width); if(stu[i].length<stu[i].width){ t=stu[i].length; stu[i].length=stu[i].width; stu[i].width=t; } for(j=0;j<i;j++) if(stu[i].num==stu[j].num&&stu[i].length==stu[j].length&&stu[i].width==stu[j].width) {i--;N--;} } sort(stu,stu+N,cmp); for(i=0;i<N;i++) printf("%d %d %d\n",stu[i].num,stu[i].length,stu[i].width); } return 0; }
- 1
信息
- ID
- 566
- 时间
- 3000ms
- 内存
- 64MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者