A:
简单题,因为题目中说了不会有数据相同;
1 #include<cstdio> 2 #include<algorithm> 3 #define maxn 200005 4 using namespace std; 5 6 struct node 7 { 8 int a[3]; 9 int id; 10 bool operator <(const node &t)const 11 { 12 return a[2]<t.a[2]; 13 } 14 }no[maxn]; 15 16 int bb[maxn],cnt,n; 17 18 int main() 19 { 20 scanf("%d",&n); 21 int m2=0,m3=0; 22 for(int i=0;i<n;i++) 23 { 24 no[i].id=i; 25 scanf("%d%d%d",&no[i].a[0],&no[i].a[1],&no[i].a[2]); 26 sort(no[i].a,no[i].a+3); 27 if(m2<no[i].a[1])m2=no[i].a[1]; 28 if(m3<no[i].a[0])m3=no[i].a[0]; 29 } 30 sort(no,no+n); 31 for(int i=0;i<n;i++) 32 { 33 if(no[i].a[2]>=m2&&no[i].a[1]>=m3) 34 bb[cnt++]=no[i].id; 35 } 36 printf("%d\n",cnt); 37 sort(bb,bb+cnt); 38 for(int i=0;i<cnt;i++)printf("%d ",bb[i]+1); 39 return 0; 40 }