2 2 1
运用STL加自己定义cmp
#include <iostream> #include<algorithm> #include<stdio.h> using namespace std; #define maxsize 1001 struct Shape { int num; int length; int width; }; bool cmp(Shape a ,Shape b) { if(a.num==b.num) { if(a.length==b.length) { return a.width<b.width; } return a.length<b.length; } return a.num<b.num; } int main() { int t,n; Shape s[maxsize]; cin>>t; while(t--) { int i, temp; cin>>n; for( i=0;i<n;i++) { cin>>s[i].num>>s[i].length>>s[i].width; if(s[i].width>s[i].length) { temp=s[i].width; s[i].width=s[i].length; s[i].length=temp; } } sort(s,s+n,cmp); for(int i=0;i<n;i++) { if(i>0&&s[i].num==s[i-1].num&&s[i].length==s[i-1].length&&s[i-1].width==s[i].width) continue; printf("%d %d %d\n", s[i].num, s[i].length, s[i].width); } } return 0; }