//最重要的收获就是懂得了,还可以调用库函数直接对结构体进行排序sort(const void *,const void *,cmp) /* bool cmp(rect c,rect d) { if(c.no!=d.no) { return c.no<d.no; } else if(c.len!=d.len) { return c.len<d.len; } else return c.wid<d.wid; }*/ #include<iostream> #include<algorithm> using namespace std; typedef struct rect { int no; int len; int wid; }rect; bool cmp(rect c,rect d) { if(c.no!=d.no) { return c.no<d.no; } else if(c.len!=d.len) { return c.len<d.len; } else return c.wid<d.wid; } int main() { int n,m; rect re[1000]; cin>>n; int len,wid; for(int i=0;i<n;i++) { cin>>m; for(int j=0;j<m;j++) { cin>>re[j].no>>len>>wid; if(len>wid) { re[j].len=len; re[j].wid=wid; }else { re[j].len=wid; re[j].wid=len; } } sort(re,re+m,cmp); cout<<re[0].no<<' '<<re[0].len<<' '<<re[0].wid<<endl; for(int j=1;j<m;j++) { if(re[j].no==re[j-1].no&&re[j].len==re[j-1].len&&re[j].wid==re[j-1].wid) continue; else cout<<re[j].no<<' '<<re[j].len<<' '<<re[j].wid<<endl; } } return 0; }